Version française
Home     About     Download     Resources     Contact us    
Browse thread
Named pipe problem: is this a bug?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Damien Bobillot <damien.bobillot@m...>
Subject: Re: [Caml-list] Named pipe problem: is this a bug?

--Apple-Mail-1-722321815
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=ISO-8859-1;
	delsp=yes;
	format=flowed


Le 1 ao=FBt 05 =E0 17:03, Alan Schmitt a =E9crit :

> Hello,
>
> I've stumbled upon a small bug, and I wonder if it's a OS X bug =20
> (I'm using X.4.2), or a caml bug. The problem is the following: I =20
> create a named pipe, then I open it. The open system call seems to =20
> block until there is data in the pipe.
>
> Here is a small program illustrating this:
>
> let _ =3D
>   Unix.mkfifo "pipe_test" 0o640;
>   print_endline "pipe created";
>   flush stdout;
>   let chin =3D open_in "pipe_test" in
>     print_endline "pipe opened";
>     flush stdout
>
> Compile it using "ocamlc unix.cma bug.ml" (the bug occurs both in =20
> bytecode and native code). When a.out is run, one sees:
> pipe created
> and the program keeps running. If one then does a
> echo foo >> pipe_test
> then the "pipe opened" line is shown, and the program terminates.

Same thing on my computers (Mac OS X & Linux).

In fact, a pipe is considered to be opened only if both ends exists =20
(you've created the read end, "echo foo >> .." create the write end).

http://www.annodex.net/cgi-bin/man/man2html?fifo+4 says :
"The kernel maintains exactly one pipe object for each FIFO special =20
file that is opened by at least one process. The FIFO must be opened =20
on both ends (reading and writing) before data can be passed. =20
Normally, opening the FIFO blocks until the other end is opened also."

(it's no use to call flush after print_endline : printf_endline do =20
the flush itself)

--=20
Damien Bobillot


--Apple-Mail-1-722321815
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Disposition: attachment;
	filename=smime.p7s

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGIjCCAtsw
ggJEoAMCAQICAw54xzANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDUwNDEzMTc1MTAxWhcNMDYwNDEzMTc1MTAxWjBJMR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSYwJAYJKoZIhvcNAQkBFhdkYW1pZW4uYm9iaWxsb3RA
bTR4Lm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ1TOYBqwJ42s0Fzz56jY1p0
fplGyikFgoNEUKGnOpqt4vpeoqUppAnORt2yvdQJxfIkhsWkrD/diiPS7MTF73wcxlSJtqYzVzPK
G/2WDm6dBinuWCIyWYFhtGedyxbap3kJW44H7cL7HUVVxZ0JhOIOTsjCoEzaeKnML7bctbIJeXEE
lErfbDv2jA1PDG1ru5dx+Q+AmbexX92ygnntE6aX3QZLSbhrytg4yCRdV8cOyQ9eFruZBI42RJv3
nJXevjUOr4n+y/7bzijAJj4BFyUU+dllvj6bmk5brnUXheCSOD0Ci20dqGNC1MyJ43b6MoIrbW7j
JwYIv12D6KuWoaUCAwEAAaM0MDIwIgYDVR0RBBswGYEXZGFtaWVuLmJvYmlsbG90QG00eC5vcmcw
DAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQB0u5b6wgwsbcyzDHJTzshlCn4gshxWtU/1
mH77gBCpsY8L554YV4/Tvm1PzmDzErm++drQf5HMy8sEFjmwLvNfBP0BqtkSqsdRFGR4wHzTjMhS
EW5LgmlaccqBQzqQrANtzglgBVbtmBDAV92qHjQslwHK4FohCRRzGl4DLQmqBDCCAz8wggKooAMC
AQICAQ0wDQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh
cGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNV
BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJz
b25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3Rl
LmNvbTAeFw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYD
VQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV
+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqq
P3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEE
QB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSG
Mmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1Ud
DwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZI
hvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNw
PP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTl
EBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggLnMIIC4wIBATBpMGIxCzAJBgNVBAYTAlpBMSUw
IwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVy
c29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDnjHMAkGBSsOAwIaBQCgggFTMBgGCSqGSIb3DQEJ
AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA1MDgwMTE1NDIwNlowIwYJKoZIhvcNAQkE
MRYEFPSVCIFxjoJ4eashgAxekd7pkmNWMHgGCSsGAQQBgjcQBDFrMGkwYjELMAkGA1UEBhMCWkEx
JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ
ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMOeMcwegYLKoZIhvcNAQkQAgsxa6BpMGIxCzAJ
BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQD
EyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDnjHMA0GCSqGSIb3DQEBAQUA
BIIBAFws4jgdkXLAdrknAdmOHSvWFCj0Y5bK4/ddqQj2DUTzwWcEMKxzvhhr35yINrn1iJfhuQlm
nz7wpA71dzdqErGx3etKprxI+OxQO2kxqWNAm2dDHQw+Axp9AQZlUPh7v75c+NthoYkBAKC9+rFV
N3+wIiuBQNZ9tgMHnOA6UQm1I7EeeVE9ioKnbyefVSSZ1YlFsGVI4UpWET/VkSd87N5fGCn9uAH5
u0+46PZ6CKaNjmwyHfR0oWpdxuwdx5RDr+MS8+HqVF5O4xzPbRtbYYFzYfml8IvxkmQ52xTAcrpy
C516s/tss/7a7Zq324brPZa7FA/4059Y9KPltXTx8qIAAAAAAAA=

--Apple-Mail-1-722321815--