Message313899
A simple example like such demonstrates that one of the file descriptors associated with the underlying pipe will be leaked:
>>> from multiprocessing.queues import Queue
>>> x = Queue()
>>> x.close()
Right after the queue is created we get (assuming the Python interpreter is associated with pid 8096 below):
> ll /proc/8096/fd
total 0
dr-x------ 2 hcma hcma 0 2018-03-15 14:03:23.210089578 -0400 .
dr-xr-xr-x 9 hcma hcma 0 2018-03-15 14:03:23.190089760 -0400 ..
lrwx------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 0 -> /dev/pts/25
lrwx------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 1 -> /dev/pts/25
lrwx------ 1 hcma hcma 64 2018-03-15 14:03:23.210089578 -0400 2 -> /dev/pts/25
lr-x------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 3 -> pipe:[44076946]
l-wx------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 4 -> pipe:[44076946]
lr-x------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 5 -> /dev/urandom
After close():
> ll /proc/8096/fd
total 0
dr-x------ 2 hcma hcma 0 2018-03-15 14:03:23.210089578 -0400 .
dr-xr-xr-x 9 hcma hcma 0 2018-03-15 14:03:23.190089760 -0400 ..
lrwx------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 0 -> /dev/pts/25
lrwx------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 1 -> /dev/pts/25
lrwx------ 1 hcma hcma 64 2018-03-15 14:03:23.210089578 -0400 2 -> /dev/pts/25
lr-x------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 3 -> pipe:[44076946]
l-wx------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 4 -> pipe:[44076946]
lr-x------ 1 hcma hcma 64 2018-03-15 14:03:33.145998954 -0400 5 -> /dev/urandom |
|
Date |
User |
Action |
Args |
2018-03-15 18:05:17 | Henrique Andrade | set | recipients:
+ Henrique Andrade |
2018-03-15 18:05:17 | Henrique Andrade | set | messageid: <1521137117.03.0.467229070634.issue33081@psf.upfronthosting.co.za> |
2018-03-15 18:05:17 | Henrique Andrade | link | issue33081 messages |
2018-03-15 18:05:16 | Henrique Andrade | create | |
|