ID:               40606
 User updated by:  support at nethost dot cz
 Reported By:      support at nethost dot cz
-Status:           Feedback
+Status:           Open
 Bug Type:         *Directory/Filesystem functions
 Operating System: unix-gentoo
 PHP Version:      5.2.1
 New Comment:

code is same as for bug 36630, as below, simple, but functional, 
<?=echo sprintf("%04o",umask(0111));?>
expected result is (with default umask 070)
0070
0070
0070
and not
0070
0070
0070
0111
0070
0111  - there is used same process


Previous Comments:
------------------------------------------------------------------------

[2007-02-23 15:54:01] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



------------------------------------------------------------------------

[2007-02-23 15:42:32] support at nethost dot cz

Description:
------------
>> Bug #36630   umask is not being restored when each equest is
finished. see for details in bug #36630.
  
this bug not fixed successfully, in file.c is bug in 
        if (BG(umask) != -1) {
                BG(umask) = oldumask;
        }
instead 
        if (BG(umask) == -1) {  /* yes == , no != */
                BG(umask) = oldumask;
        }
it fixes, but for clean code i move initializing 
BG(umask) = -1; from basic_globals_ctor to PHP_RINIT_FUNCTION(basic)  
(finalizing is in PHP_RSHUTDOWN_FUNCTION(basic))

this bug is only for sapi apache2 handler-module (apache1 has
workaround in sapi code). Or may implement same workaround in apache2
handler module.

i try daily snapshot, and last version, all is bad fixed. after fixing
all is ok for testing code 
<?=echo sprintf("%04o",umask(0111));?>



Reproduce code:
---------------
<?=echo sprintf("%04o",umask(0111));?>



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=40606&edit=1

Reply via email to