[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problems with PERL 5.10 and system pipe



-=| Андрей Волков, 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


Reply to: