ID: 46673 Updated by: [EMAIL PROTECTED] Reported By: kaz at e-2 dot co dot jp -Status: Open +Status: Closed Bug Type: Streams related Operating System: * PHP Version: 5.2.6 New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2008-11-26 03:07:51] kaz at e-2 dot co dot jp Description: ------------ When i regist my own stream class, and use flock($h, LOCK_UN). then steam_lock caled with undefined mode(0x8). php-5.2.6/ext/standard/file.c ---- 321 static int flock_values[] = { LOCK_SH, LOCK_EX, LOCK_UN }; snip... 348 act = flock_values[act - 1] | (operation & 4 ? LOCK_NB : 0); 349 if (php_stream_lock(stream, act)) { Reproduce code: --------------- <?php class StreamTest { function stream_open($path, $mode, $options, &$opened_path) { return true; } function stream_close() { return ; } function stream_lock($mode) { printf( "0x%x\n", $mode ) ; return ; } } stream_register_wrapper("streamtest", "StreamTest"); $handle = fopen( 'streamtest://test', "r" ) ; flock( $handle, LOCK_EX ) ; flock( $handle, LOCK_UN ) ; fclose($handle) ; Expected result: ---------------- 0x2 0x3 Actual result: -------------- 0x2 0x8 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46673&edit=1
