我从Laravel 5代码库继承了一段代码,它基本上带有一个svg符号,允许你添加效果和文本,并将其保存为链接到用户帐户的SVG。该系统有效,但每隔一段时间您就会看到2个客户最终会将相同的“newAvatar-> id”链接到他们的帐户。我一直在想我的大脑,但似乎无法弄明白。
这会是由某种竞争条件引起的吗?我是否需要在此代码中添加某种信号量或互斥量?
public function createAvatar()
{
$status = 400;
$_data = array('error' => 'Unknown Error');
if (Input::has('avatar_svg'))
{
$svg = Input::get('avatar_svg');
$newAvatar = Avatar::create([
'svg_content' => $svg,
]);
if ($newAvatar) {
$status = 200;
$_data = array('avatarID' => $newAvatar->id);
}
}
//data is sent back as JSON to be processed by AngularJS
return Response::json([
'data' => $_data,
], $status, array(), JSON_PRETTY_PRINT);
}
答案 0 :(得分:0)
感谢大家的帮助,但答案是用户设法通过软件找到了一条从未打算过或不可能的软件。
人们在代码上线时发现的东西真是太神奇了