In message <[EMAIL PROTECTED]>, Tom Lane writes:
>Kenneth Lareau <[EMAIL PROTECTED]> writes:
>> In message <[EMAIL PROTECTED]>, Tom Lane writes:
>>> I suppose that manually creating the data directory before running
>>> initdb would also avoid this issue, since the mkdir(2) loop is only
>>> entered if we don't find the directory in existence.
>
>> Actually, creating the 'data' directory first doesn't work either:
>
>Good point.
>
>> I don't know why the command 'mkdir' doesn't exhibit the
>> same problem as the function 'mkdir', but running:
>
>>    mkdir /software/postgresql-8.0.0
>
>> produces the correct error "File exists" on my system.
>
>Could you truss that and see what it does?  It would be a simple change
>in initdb to make it stat before mkdir instead of after, but I'm not
>totally convinced that would fix the problem.  If mkdir returns a funny
>error code then stat might as well ...
>
>                       regards, tom lane
>

Here's the relevant truss output from 'mkdir /software/postgresql-8.0.0'
on my Solaris 9 system:

10832:  umask(0)                                        = 077
10832:  umask(077)                                      = 0
10832:  mkdir("/software/postgresql-8.0.0", 0777)       Err#89 ENOSYS
10832:  stat64("/software/postgresql-8.0.0", 0xFFBFFA38) = 0
10832:  fstat64(2, 0xFFBFEB78)                          = 0
10832:  write(2, " m k d i r", 5)                       = 5
10832:  write(2, " :  ", 2)                             = 2
10832:  write(2, " c a n n o t   c r e a t".., 24)      = 24
10832:  write(2, " ` / s o f t w a r e / p".., 28)      = 28
10832:  write(2, " :  ", 2)                             = 2
10832:  write(2, " F i l e   e x i s t s", 11)          = 11
10832:  write(2, "\n", 1)                               = 1
10832:  _exit(1)


It's doing the stat after the mkdir attempt it seems, and coming back
with the correct response.  Hmm, maybe I should look at the Solaris 8
code for the mkdir command...


Ken Lareau
[EMAIL PROTECTED]

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to