Locks set by LOCK IN SHARE MODE and FOR UPDATE reads are released when the transaction is committed or rolled back.
Note
Locking of rows for update using SELECT FOR UPDATE only applies when autocommit is disabled (either by beginning transaction with START TRANSACTION or by setting autocommit to 0. If autocommit is enabled, the rows matching the specification are not locked.
А что за warning: /etc/init.d/autostart.script missing LSB information?
define('EAGAIN', 11);
$socket = socket_create_listen(1234, SOMAXCONN) ;
socket_set_nonblock($socket);
$clients = array();
while(1) {
usleep(300000);
$client = @socket_accept($socket);
if($client) {
socket_set_nonblock($client);
$clients[] = $client;
socket_getpeername($client, $peer);
echo "$client ($peer) connected\n";
}
reset($clients);
while(list($i,$client) = each($clients)) {
$data = socket_read($client, 4096);
if($data === false && socket_last_error() != EAGAIN) {
echo "error reading from $client: " . socket_strerror(socket_last_error()).", disconnecting\n";
socket_close($client);
unset($clients[$i]); }
elseif($data!="") {
$data = trim($data);
socket_getpeername($client, $peer);
echo "$client ($peer) says: $data\n";
if(strtolower($data)=="exit") {
socket_close($client);
socket_close($socket);
die("Aborted by user");
}
} elseif ($data === "") {
echo "$client ($peer) disconnected\n";
socket_close($client);
unset($clients[$i]);
}
}
}