[issue13694] asynchronous connect in asyncore.dispatcher does not set addr

2012-03-20 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Done. Sorry for the delay. -- resolution: -> fixed stage: patch review -> committed/rejected status: open -> closed ___ Python tracker <http://bugs.pyth

[issue14375] Add socketserver.running property

2012-03-20 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' : Patch in attachment adds a "running" property to figure out whether the server is running or not. Also it raises an exception in case the server has already been started or stopped. IMO such an event should be prevented beforehand a

[issue14375] Add socketserver running property

2012-03-20 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- title: Add socketserver.running property -> Add socketserver running property ___ Python tracker <http://bugs.python.org

[issue14375] Add socketserver running property

2012-03-20 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- keywords: +needs review -patch ___ Python tracker <http://bugs.python.org/issue14375> ___ ___ Python-bugs-list mailing list

[issue11273] asyncore creates selec (or poll) on every iteration

2012-03-20 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I agree it would be great to do this, in fact I'm using a modified version of asyncore supporting register(), unregister() and modify() methods for file descriptors, and the performance benefits are enormous. On the other hand, it appears t

[issue14373] C implementation of functools.lru_cache

2012-03-20 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue14373> ___ ___ Python-bugs-list mailing list Unsubsc

[issue13325] no address in the representation of asyncore dispatcher after connection established

2012-03-22 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Closing as duplicate of issue 13694. -- resolution: -> duplicate status: open -> closed versions: +Python 2.7 ___ Python tracker <http://bugs.python.

[issue10340] asyncore doesn't properly handle EINVAL on OSX

2012-03-22 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- assignee: -> giampaolo.rodola priority: high -> normal resolution: -> fixed stage: patch review -> committed/rejected status: open -> closed ___ Python tracker <http://bug

[issue10340] asyncore doesn't properly handle EINVAL on OSX

2012-03-23 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Sorry about that. It should now be fixed. -- ___ Python tracker <http://bugs.python.org/issue10340> ___ ___ Pytho

[issue10340] asyncore doesn't properly handle EINVAL on OSX

2012-03-23 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: http://hg.python.org/cpython/rev/0b960e41e533 Let's see how it goes. -- ___ Python tracker <http://bugs.python.o

[issue14386] Expose dictproxy as a public type

2012-03-27 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue14386> ___ ___ Python-bugs-list mailing list Unsubsc

[issue13749] socketserver can't stop

2012-03-27 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue13749> ___ ___ Python-bugs-list mailing list Unsubsc

[issue5824] SocketServer.DatagramRequestHandler Broken under Linux

2012-03-27 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue5824> ___ ___ Python-bugs-list mailing list Unsubsc

[issue1767511] SocketServer.DatagramRequestHandler

2012-03-27 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue1767511> ___ ___ Python-bugs-list mailing list

[issue12184] socketserver.ForkingMixin collect_children routine needs to collect only it's children

2012-03-27 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue12184> ___ ___ Python-bugs-list mailing list Unsubsc

[issue36997] Document that spwd is considered harmful

2019-05-21 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <https://bugs.python.org/issue36997> ___ ___ Python-bugs-list mailing list

[issue24564] shutil.copytree fails when copying NFS to NFS

2019-05-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset a16387ab2d85f19665920bb6ff91a7e57f59dd2a by Giampaolo Rodola (Ying Wang) in branch 'master': bpo-24564: shutil.copystat(): ignore EINVAL on os.setxattr() (GH-13369) https://github.com/python

[issue36610] os.sendfile can return EINVAL on Solaris

2019-05-29 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- pull_requests: +13563 stage: -> patch review pull_request: https://github.com/python/cpython/pull/13675 ___ Python tracker <https://bugs.python.org

[issue36610] os.sendfile can return EINVAL on Solaris

2019-05-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I currently have no Solaris box to test this against and am currently short on time but I'm of the opinion that because of: > Sendfile on Solaris can raise EINVAL if offset is equal or bigger than the size > of the file (Python expe

[issue24564] shutil.copytree fails when copying NFS to NFS

2019-05-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset f1487b323549e2360460383b4304f6592fb38e27 by Giampaolo Rodola (Miss Islington (bot)) in branch '3.7': bpo-24564: shutil.copystat(): ignore EINVAL on os.setxattr() (GH-13369) https://github.com/python

[issue24564] shutil.copytree fails when copying NFS to NFS

2019-05-29 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed versions: -Python 2.7 ___ Python tracker <https://bugs.pyth

[issue36610] os.sendfile can return EINVAL on Solaris

2019-05-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset 413d955f8ec88a7183f91d7ad8b0ff7def803de3 by Giampaolo Rodola in branch 'master': bpo-36610: shutil.copyfile(): use sendfile() on Linux only (GH-13675) https://github.com/python/cpython/commit/413d955f8ec88a7183f91d7ad

[issue36610] os.sendfile can return EINVAL on Solaris

2019-05-29 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- assignee: -> giampaolo.rodola resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.p

[issue37096] Add large-file tests for modules using sendfile(2)

2019-05-30 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' : The need for this emerged in: https://bugs.python.org/issue36610#msg343948. We currently use sendfile(2) syscall in high-level shutil.copyfile() on Linux and socket.sendfile() on UNIX. In addition this PR also tests shutil.copyfile() implementati

[issue37096] Add large-file tests for modules using sendfile(2)

2019-05-30 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch pull_requests: +13564 stage: -> patch review pull_request: https://github.com/python/cpython/pull/13676 ___ Python tracker <https://bugs.python.org

[issue34368] ftplib __init__ function can't handle 120 or 4xy reply when connect to the server

2019-05-31 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: >From RFC-959: If the server is unable to accept input right away, a 120 "expected delay" reply should be sent immediately and a 220 reply when ready. The user will then know not to hang up if there is a delay. S

[issue26826] Expose new copy_file_range() syscall in os module.

2019-06-04 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: shutil.copyfile() already uses sendfile() which basically provides the same performances. sendfile() should be preferred though because it’s supported since Linux 2.6.33. -- ___ Python tracker &

[issue26826] Expose new copy_file_range() syscall in os module.

2019-06-04 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I think data deduplication / CoW / reflink copy is better implemented via FICLONE. "cp --reflink" uses it, I presume because it's older than copy_file_range(). I have a working patch adding CoW copy support for Linux and OSX (but n

[issue26826] Expose new copy_file_range() syscall in os module.

2019-06-04 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Actually "man copy_file_range" claims it can do server-side copy, meaning no network traffic between client and server if *src* and *dst* live on the same network fs. So I agree copy_file_range() should be preferred over sendfile() after a

[issue37157] shutil: add reflink=False to file copy functions to control clone/CoW copies (use copy_file_range)

2019-06-04 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I'm attaching an initial PoC using FICLONE on Linux and clonefile(3) on OSX. It is also possible to support Windows but it requires a ReFS partition to test against which I currently don't have. I opted for exposing reflink() as a se

[issue37159] Have shutil.copyfile() use copy_file_range()

2019-06-04 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' : This is a follow up of issue33639 (zero-copy via sendfile()) and issue26828 (os.copy_file_range()). On [Linux 4.5 / glib 2.27] shutil.copyfile() will use os.copy_file_range() instead of os.sendfile(). According to my benchmarks performances ar

[issue26826] Expose new copy_file_range() syscall in os module.

2019-06-04 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > Please open a new issue to discuss how it can used in shutil ;-) Use copy_file_range() in shutil.copyfile(): https://bugs.python.org/issue37159 -- ___ Python tracker <https://bugs.python.org

[issue37159] Have shutil.copyfile() use copy_file_range()

2019-06-04 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- nosy: +StyXman, desbma, facundobatista, martin.panter, ncoghlan, neologix, pablogsal, petr.viktorin, vstinner ___ Python tracker <https://bugs.python.org/is

[issue37159] Use copy_file_range() in shutil.copyfile() (server-side copy)

2019-06-04 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- title: Have shutil.copyfile() use copy_file_range() -> Use copy_file_range() in shutil.copyfile() (server-side copy) ___ Python tracker <https://bugs.python.org

[issue37159] Use copy_file_range() in shutil.copyfile() (server-side copy)

2019-06-05 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: issue37157 is for reflink / CoW copy, this one is not. -- ___ Python tracker <https://bugs.python.org/issue37159> ___ ___

[issue37159] Use copy_file_range() in shutil.copyfile() (server-side copy)

2019-06-05 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Nope, it doesn't (see man page). We can simply use FICLONE (cp does the same). -- ___ Python tracker <https://bugs.python.o

[issue37157] shutil: add reflink=False to file copy functions to control clone/CoW copies (use copy_file_range)

2019-06-05 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > I'm not sure that attempt to call unlink() if FICLONE fails is a good idea Agreed. > I dislike the *fallback* parameter of reflink(). Me too. A specific exception is better. > Why not exposing clonefile() as os.clonefile() but os

[issue37157] shutil: add reflink=False to file copy functions to control clone/CoW copies (use copy_file_range)

2019-06-05 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Adding a new patch (still a PoC, will create a PR when I have something more solid). -- Added file: https://bugs.python.org/file48393/cow2.diff ___ Python tracker <https://bugs.python.org/is

[issue37366] Add an "onitem" callback parameter to shutil.rmtree()

2019-06-27 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I am not sure I understand the use case. Other than "unmounting a mount point" the other scenarios look unrealistic to me and also require a fd instead of a path. Also, if you want to unmount a path you can do so via *onerror* instead (u

[issue36422] tempfile.TemporaryDirectory() removes entire directory tree even if it's a mount-point

2019-06-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > in case a filesystem has been mounted on the temporary directory, this can > lead to the entire filesystem being removed -1 That is expected behavior and the use case looks pretty unusual. Such a new parameter wouldn't even be su

[issue37366] Add an "onitem" callback parameter to shutil.rmtree()

2019-06-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I'm gonna reject this one, sorry Jeffrey. Reasons given in https://bugs.python.org/issue36422#msg346878 also apply here. -- resolution: -> rejected stage: patch review -> resolved status

[issue33408] Enable AF_UNIX support in Windows

2019-07-10 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <https://bugs.python.org/issue33408> ___ ___ Python-bugs-list mailing list

[issue37791] Propose to deprecate `ignore_errors` and `onerror` parameters of `shutil.rmtree()`

2019-08-08 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: There’s too much code out there relying on both args (especially ignore_errors in unit tests) that would break for no real benefit. -- ___ Python tracker <https://bugs.python.org/is

[issue28287] Refactor subprocess.Popen to let a subclass handle IO asynchronously

2017-07-14 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Is the main goal to just make Popen.__init__ non-blocking? If not, #1191964 aims at providing non-blocking reads/writes (including on Windows). -- nosy: +giampaolo.rodola ___ Python tracker

[issue19640] Dynamically generate the _source attribute of namedtuple to save memory)

2017-07-17 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue19640> ___ ___ Python-bugs-list mailing list

[issue28638] Optimize namedtuple creation

2017-07-17 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue28638> ___ ___ Python-bugs-list mailing list

[issue28638] Optimize namedtuple creation

2017-07-18 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > Should we consider a C-based implementation like > https://github.com/ll/cnamedtuple? > It could improve speed even more, but would be harder to maintain and > test and harder to keep compatible. My sense is that it's

[issue28638] Optimize namedtuple creation

2017-07-19 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > While "40x faster" is more 10x faster than "4x faster", C > implementation can boost only CPython and makes maintenance more harder. As a counter argument against "let's not do it because it'll be harder to m

[issue30119] (ftplib) A remote attacker could possibly attack by containing the newline characters

2017-07-22 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset 2b1e6e9696cb433c0e0da11145157d54275d119f by Giampaolo Rodola (Dong-hee Na) in branch 'master': bpo-30119: fix ftplib.FTP.putline() to throw an error for a illegal command (#1214) https://github.com/python

[issue30190] unittest's assertAlmostEqual improved error message

2017-07-25 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Reopening as it needs backports for 2.7, 3.3, 3.4, 3.5 and 3.6. -- resolution: fixed -> stage: resolved -> backport needed status: closed -> pending versions: +Python 2.7, Python 3.3, Python 3.4, Python 3

[issue30190] unittest's assertAlmostEqual improved error message

2017-07-25 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Sorry, I accidentally picked up the wrong thread. -- resolution: -> fixed stage: backport needed -> resolved status: pending -> closed versions: -Python 2.7, Python 3.3, Python 3.4, Python 3

[issue30119] (ftplib) A remote attacker could possibly attack by containing the newline characters

2017-07-25 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Reopening as it needs backports for 2.7, 3.3, 3.4, 3.5 and 3.6. -- resolution: duplicate -> stage: resolved -> backport needed status: closed -> pending versions: +Python 2.7, Python 3.3, Python 3.4, Python 3

[issue30931] Race condition in asyncore may access the wrong dispatcher

2017-07-25 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > Yes, this is a typical issue in asyncore if you don't protect your > subclass to handle double close. I use the same trick all over the place in pyftpdlib: https://github.com/giampaolo/pyftpdlib/blob/1268bb185cd63c657d78bc33309041628e

[issue30985] Set closing variable in asyncore at close

2017-07-25 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I welcome this change as it avoids tricks like this one: https://github.com/giampaolo/pyftpdlib/blob/1268bb185cd63c657d78bc33309041628e62360a/pyftpdlib/handlers.py#L537 Any app using asyncore for anything other than an echo server eventually ends up

[issue30985] Set closing variable in asyncore at close

2017-07-25 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: On the other hand, due to the poor asyncore API, I think it's safer if we land this in 3.7 only. "closing" attribute was never documented so if there's code out there setting it to True that'll crash their app pretty q

[issue30985] Set closing variable in asyncore at close

2017-07-25 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I would probably feel safer to use "__closed" for all python versions and adopt the same naming convention for any attribute we may want to add in the future. Kinda weird, but asyncore is probably the only case of deprecated module with

[issue30119] (ftplib) A remote attacker could possibly attack by containing the newline characters

2017-07-26 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > What about rejecting also NUL byte? I don't it would make any difference at this point. -- ___ Python tracker <http://bugs.pytho

[issue30119] (ftplib) A remote attacker could possibly attack by containing the newline characters

2017-07-26 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: AFAIK its only use case is to escape \r and \n. -- ___ Python tracker <http://bugs.python.org/issue30119> ___ ___ Pytho

[issue29256] Windows select() errors out when given no fds to select on, which breaks SelectSelector

2017-07-26 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue29256> ___ ___ Python-bugs-list mailing list

[issue29214] Standard open() does not allow to specify file permissions.

2017-07-26 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue29214> ___ ___ Python-bugs-list mailing list

[issue30931] Race condition in asyncore may access the wrong dispatcher

2017-07-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: +1, I would push https://github.com/python/cpython/pull/2854/ first and fix the race condition only. -- ___ Python tracker <http://bugs.python.org/is

[issue30931] Race condition in asyncore may access the wrong dispatcher

2017-07-29 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- assignee: -> giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue30931> ___ ___ Python-bugs-list mailing li

[issue30581] os.cpu_count() returns wrong number of processors on system with > 64 logical processors

2017-07-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: MS documentation is not clear on what function should be used as there are many returning different values. Here it is being suggested to use GetLogicalProcessorInformationEx: https://stackoverflow.com/questions/31209256/reliable-way-to-programmati

[issue30581] os.cpu_count() returns wrong number of processors on system with > 64 logical processors

2017-07-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: About GetMaximumProcessorCount, MS doc states that it returns the "maximum number of logical processors that a processor group or the system can have", so maybe it also includes "empty" CPU sockets. GetActiveProcessorCount, on the

[issue30581] os.cpu_count() returns wrong number of processors on system with > 64 logical processors

2017-07-29 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I agree that the MS Docs for this are a bit confusing. I ended up reaching out to the guy who authored the GetMaximumProcessorCount function. I had also written an implementation that iterated over GetProcessorInformationEx and he advised against it.

[issue26692] cgroups support in multiprocessing

2017-09-04 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue26692> ___ ___ Python-bugs-list mailing list

[issue23530] os and multiprocessing.cpu_count do not respect cpuset/affinity

2017-09-04 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker <http://bugs.python.org/issue23530> ___ ___ Python-bugs-list mailing list

[issue26415] Excessive peak memory consumption by the Python parser

2018-11-21 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- nosy: -giampaolo.rodola ___ Python tracker <https://bugs.python.org/issue26415> ___ ___ Python-bugs-list mailing list

[issue35434] Wrong bpo linked in What's New in 3.8

2018-12-07 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: My bad. Thanks for fixing it. -- ___ Python tracker <https://bugs.python.org/issue35434> ___ ___ Python-bugs-list m

[issue17561] Add socket.create_server_sock() convenience function

2018-12-16 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Interesting. Yes, I agree this proposal is still desirable. We can reuse socket.create_server_sock() in smtpd, ftplib, socketserver (issue20215) and http.server (issue24209) modules which will inherit dual-stack IPv4/6 capabilities for free. I shou

[issue35517] selector.EpollSelector: add new parameter to support EPOLLEXCLUSIVE

2018-12-17 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I'm not sure I understand what EPOLLEXCLUSIVE is about. Could you provide a use case? Also, there are other constants which may also be useful such as EPOLLWAKEUP and EPOLLONESHOT: http://man7.org/linux/man-pages/man2/epoll_ctl.2.html So perhap

[issue35517] selector.EpollSelector: add new parameter to support EPOLLEXCLUSIVE

2018-12-17 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I see. Then I would say it's a matter of deciding what's the best API to provide. Another possibility is to promote the underlying epoll() instance as a public property, so one can do: >>> s = selectors.EpollSelector() >&

[issue35517] selector.EpollSelector: add new parameter to support EPOLLEXCLUSIVE

2018-12-17 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I took a look at your PR. As the PR currently stands it only works with epoll() selector. For the other selectors this is just an extra argument which does nothing, so it complicates the API of 2 methods for no real gain. Also, a single argument i

[issue17561] Add socket.create_server_sock() convenience function

2018-12-18 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- pull_requests: +10452 stage: -> patch review ___ Python tracker <https://bugs.python.org/issue17561> ___ ___ Python-bug

[issue20849] add exist_ok to shutil.copytree

2018-12-28 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset 9e00d9e88fbf943987e4771c753f5ca8f794103e by Giampaolo Rodola (jab) in branch 'master': bpo-20849: add dirs_exist_ok arg to shutil.copytree (patch by Josh Bronson) https://github.com/python

[issue20849] add exist_ok to shutil.copytree

2018-12-28 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- assignee: -> giampaolo.rodola resolution: -> fixed stage: patch review -> commit review status: open -> closed ___ Python tracker <https://bugs.p

[issue35537] use os.posix_spawn in subprocess

2019-01-27 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- pull_requests: +11528 ___ Python tracker <https://bugs.python.org/issue35537> ___ ___ Python-bugs-list mailing list Unsubscr

[issue35917] multiprocessing: provide unit-tests for manager classes and shareable types

2019-02-06 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' : This is a follow up of BPO-35813 and PR-11664 and it provides unit tests for SyncManager and SharedMemoryManager classes + all the shareable types which are supposed to be supported by them. Also, see relevant python-dev discussion at:

[issue35917] multiprocessing: provide unit-tests for manager classes and shareable types

2019-02-06 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch pull_requests: +11740 ___ Python tracker <https://bugs.python.org/issue35917> ___ ___ Python-bugs-list m

[issue35917] multiprocessing: provide unit-tests for manager classes and shareable types

2019-02-06 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch, patch, patch pull_requests: +11740, 11741, 11742 ___ Python tracker <https://bugs.python.org/is

[issue35917] multiprocessing: provide unit-tests for manager classes and shareable types

2019-02-06 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch, patch pull_requests: +11740, 11741 ___ Python tracker <https://bugs.python.org/issue35917> ___ ___ Pytho

[issue35813] shared memory construct to avoid need for serialization between processes

2019-02-06 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Unit-tests at https://bugs.python.org/issue35917. -- nosy: +giampaolo.rodola ___ Python tracker <https://bugs.python.org/is

[issue35918] multiprocessing's SyncManager.dict.has_key() method is broken

2019-02-06 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' : Related to BPO-35917: $ ./python Python 3.8.0a1+ (heads/master:cd90f6a369, Feb 6 2019, 17:16:10) [GCC 7.3.0] on linux >>> import multiprocessing.managers >>> m = multiprocessing.managers.SyncManager() >>> m.start() &

[issue35913] asyncore: allow handling of half closed connections

2019-02-06 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Assigning this to me but am not sure 1) when I'll be able to look at this 2) whether it's worth it as asyncore is deprecated in favor of asyncio. -- assignee: -> giampaolo.rodola ___ Pyth

[issue35919] multiprocessing: shared manager Pool fails with AttributeError

2019-02-06 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' : import multiprocessing import multiprocessing.managers def f(n): return n * n def worker(pool): with pool: pool.apply_async(f, (10, )) manager = multiprocessing.managers.SyncManager() manager.start() pool = manager.Pool(proces

[issue35813] shared memory construct to avoid need for serialization between processes

2019-02-06 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Also, for completeness (since discussion is getting split), please see my proposal to move SharedMemoryManager and SharedMemoryServer into multiprocessing.managers namespace and rename shared_memory.py to _shared_memory.py: https://mail.pytho

[issue35913] asyncore: allow handling of half closed connections

2019-02-06 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: > When recv() return 0 we may still have data to send. It seems recv() returning b"" is an alias for "connection lost". E.g. in Twisted: https://github.com/twisted/twisted/blob/06c891502be9f6389451fcc959cad5485f55d653/src/twist

[issue35913] asyncore: allow handling of half closed connections

2019-02-06 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I agree. The problem I have with this is that it introduces a new method (handle_eof), which ends up in the "new functionality" bucket (even though it's not backward incompatible per-se, as it defaults on calling handle_close() any

[issue35934] Add socket.bind_socket() utility function

2019-02-07 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' : The main point of this patch is to automatize all the necessary tasks which are usually involved when creating a server socket, amongst which: * determining the right family based on address, similarly to socket.create_connection() * whether t

[issue35934] Add socket.bind_socket() utility function

2019-02-07 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch, patch pull_requests: +11769, 11770 ___ Python tracker <https://bugs.python.org/issue35934> ___ ___ Pytho

[issue35934] Add socket.bind_socket() utility function

2019-02-07 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch, patch, patch pull_requests: +11769, 11770, 11771 ___ Python tracker <https://bugs.python.org/is

[issue35934] Add socket.bind_socket() utility function

2019-02-07 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch pull_requests: +11769 ___ Python tracker <https://bugs.python.org/issue35934> ___ ___ Python-bugs-list m

[issue17561] Add socket.create_server_sock() convenience function

2019-02-07 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: After careful thinking I realize I'm not completely sure about how to expose the IPv4/6 functionality yet. I prefer to defer it for later and start landing a bind_socket() utility function which serves as a base for this functionality. See:

[issue35940] multiprocessing manager tests fail in the Refleaks buildbots

2019-02-10 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Pablo thanks a lot for taking care of this. -- ___ Python tracker <https://bugs.python.org/issue35940> ___ ___ Pytho

[issue35813] shared memory construct to avoid need for serialization between processes

2019-02-11 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I submitted an initial review / comments in the PR. I think this is good for a first iteration in order to understand what APIs to expose publicly (also, keep in mind I may not have a full picture of how this is intended to be used precisely). A

[issue35918] multiprocessing's SyncManager.dict.has_key() method is broken

2019-02-11 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset a31f4cc881992e84d351957bd9ac1a92f882fa39 by Giampaolo Rodola (Rémi Lapeyre) in branch 'master': bpo-35918: Remove broken has_key method and add test (#11819) https://github.com/python/cpython/commit/a31f4cc881992e84d351957bd

[issue35918] multiprocessing's SyncManager.dict.has_key() method is broken

2019-02-11 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset 58f05ce059cc5207320fef27a9fbc0ffdc2b1d1a by Giampaolo Rodola (Miss Islington (bot)) in branch '3.7': bpo-35918: Remove broken has_key method and add test (GH-11819) (#11824) https://github.com/python

[issue17561] Add socket.bind_socket() convenience function

2019-02-11 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: After iterating over this over the last few days I realized it makes more sense to implement and discuss the whole thing in here and as a single PR, so sorry about previously splitting this in a separate ticket/PR. Relevant PR is now this one a

[issue35934] Add socket.bind_socket() utility function

2019-02-11 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Closing this out as duplicate. Will continue in issue35934. -- resolution: -> duplicate stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.pyth

[issue35951] os.renames() creates directories if original name doesn't exist

2019-02-12 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: The proposed change makes the problem a lot less likely to occur, but technically it doesn't fix it because if the src file/dir disappears between "os.path.exists(src)" and os.rename(src, dst)" calls you'll end up with a race

<    4   5   6   7   8   9   10   11   12   13   >