-=| Андрей Волков, Thu, Sep 24, 2009 at 11:26:05AM +0300 |=- > There was a server with Debian Etch 32 bit, PERL version - 5.8.8, > and a script on perl, which opened a system pipe like this: > open (PH,"/dev/squid"); > The pipe is creating like this : mkfifo /dev/squid > > After all, a new server was installed, with Debian Lenny 64 bit, > Perl version - 5.10.0, and now perl doesn't open the pipe. I.e. > after that stroke it doesn't go further, just freezing. > Permissions and paths are ok. Trying: $ mkfifo test $ perl -e'open(PH, "test")' hangs here too (perl 5.10.0-25) until I "echo a word > test" in another terminal. It seems the open() call waits for the "other end" of the pipe to be connected before continuing. > May be smb know what the problem? Or it's a bug in a perl package? The same thing happens with the following simple test C program: $ cat test.c #include <stdio.h> FILE* f; main() { f = fopen("test", "r"); } $ gcc test.c $ ./a.out <hangs> So the problem seems to be global, not specific to perl. Perhaps the kernel has changed the way the pipes are opened? -- dam
Attachment:
signature.asc
Description: Digital signature