\n";
$res = mysql_query($sqlstring, $db) or
die("Invalid query: $sqlstring\n" . mysqli_error($pubConn));
list($max_seq_num) = mysqli_fetch_row($res);
$max_seq_num++;
mysql_free_result($res);
/* Send Command to OMCR_COMMAND */
$sqlstring = "UPDATE OMCR_COMMAND " .
"SET bssid=$bssid, nmicommand='$nmicommand',seqNum=$max_seq_num,status=255,resultcode=-1 " .
"WHERE status=0 AND seqNum<$max_seq_num LIMIT 1";
//echo "$sqlstring
\n";
$res = mysql_query($sqlstring, $db) or
die("Invalid query: $sqlstring\n" . mysqli_error($pubConn));
if (mysql_affected_rows() == 1)
$ok=1;
$sqlstring = "UNLOCK TABLES";
$res = mysql_query($sqlstring, $db) or
die("Invalid query: $sqlstring\n" . mysqli_error($pubConn));
if ($ok == 0)
usleep(200000); // 200 msec
}
if ($ok == 0)
return -1;
$timewait=0;
$interval=500000; // in micro-seconds (0.5 sec)
$timeout = 8;
while ($timewait < 1000000 * $timeout)
{
$resultcode=$responsecode=$response=$cmd=null;
usleep($interval);
$timewait += $interval;
$sqlstring = "SELECT resultcode, responsecode,response,nmicommand FROM OMCR_COMMAND " .
"WHERE status=0 AND seqNum=$max_seq_num";
//echo "$sqlstring
\n";
$res = mysql_query($sqlstring, $db) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
while ( $mydata = mysqli_fetch_row($res) )
{
list($resultcode[],$responsecode[],$response[],$cmd[]) = $mydata;
}
$no_of_rows = mysqli_num_rows($res);
mysql_free_result($res);
if ($no_of_rows >= 1)
{
/* multiple entry due to duplicate seqNum is found
* Even deplicate seqNum, we can still wait for the result
*/
for ($i=0; $i<$no_of_rows; $i++)
{
if ($cmd[$i] == $nmicommand)
{
if ($i != 0)
{
$resultcode[0] = $resultcode[$i];
$responsecode[0] = $responsecode[$i];
$response[0] = $response[$i];
}
if ($resultcode[0] != 0)
{
if ($debug) echo "resultcode=$resultcode[0]
";
$sqlstring = "SELECT ${language}StatInfo FROM OMCR_STATCODE" .
" WHERE statcode=$resultcode[0]";
//echo "$sqlstring
\n";
$res = mysql_query($sqlstring, $db) or
die("Invalid query:$sqlstring\n" . mysqli_error($pubConn));
if ( $row = mysqli_fetch_row($res) )
echo "" . $row[0] . "
\n";;
mysql_free_result($res);
}
return 0; /* Result found */
}
}
}
}
echo "Timeout without getting result from BSS OMC
";
return -1; /* No result found */
}
?>