[issue1580738] httplib hangs reading too much data

2007-10-12 Thread Marcos Dione

Marcos Dione added the comment:

with facundo we were tracking this bug down. mhammond is right about 
that read() should allow 0 size responses, but the bug is that the 
response is "not closed". HTTPResponse.read() says:

if amt is None:
# unbounded read
if self.length is None:
s = self.fp.read()
else:
s = self._safe_read(self.length)
self.length = 0
self.close()# we read everything
return s

see that if self.close()s, which really closes the fp created with 
makefile() in the constructor. this does not closes the underlying 
socket, as you can see trying this short example:

import httplib

c= httplib.HTTPConnection ('www.python.org', 80)

c.request ('GET', '/index.html')
a1= c.getresponse ()
data1= a1.read()

c.request ('GET', '/404.html')
a2= c.getresponse ()
data2= a2.read()

and run it under strace -e network,file.

if the last part of read is changed to this, read(n) works just like 
read() does:

# we do not use _safe_read() here because this may be 
a .will_close
# connection, and the user is reading more bytes than will be 
provided
# (for example, reading in 1k chunks)
s = self.fp.read(amt)
if self.length is not None:
self.length -= len(s)
if len(s)==0:
self.close ()

return s

--
nosy: +StyXman, facundobatista

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1580738>
_
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue38487] expat infinite loop

2019-10-15 Thread Marcos Dione


New submission from Marcos Dione :

I'm trying to add external entities support to xmltodict[1]. For that I 
extended the handler to have a ExternalEntityRefHandler handler. After reading 
a couple of files, the script lock in a tight loop.

I ran the script with gdb (!!) and found that expat think that two of the 
parsers are parent of each other. I setup a breakpoint in 
XML_ExternalEntityParserCreate() (yes, this is expat, I know) right after the 
new parser uses the old parser as parent (xmlparse.c:1279 in my system).

Here are the backtraces and values I found:

--- >8 ---
landuse-lowzoom None styles-otm/landuse-lowzoom.xml None

#0  XML_ExternalEntityParserCreate (oldParser=0xadc4d0, 
context=context@entry=0x76c871e0 "landuse-lowzoom", 
encodingName=encodingName@entry=0x0) at ../../src/lib/xmlparse.c:1281
#1  0x0044ec90 in pyexpat_xmlparser_ExternalEntityParserCreate_impl 
(encoding=0x0, context=0x76c871e0 "landuse-lowzoom", self=0x76d556e0) 
at ../Modules/pyexpat.c:943
#2  pyexpat_xmlparser_ExternalEntityParserCreate (self=0x76d556e0, 
args=, nargs=) at 
../Modules/clinic/pyexpat.c.h:137
[...]
#15 0x0044d80d in my_ExternalEntityRefHandler (parser=, 
context=0xae1d2c "landuse-lowzoom", base=, systemId=, publicId=)
at ../Modules/pyexpat.c:659
#16 0x77d990c8 in doContent (parser=parser@entry=0xadc4d0, 
startTagLevel=startTagLevel@entry=0, enc=,
s=s@entry=0xae08dd "\n\t

[issue36100] int() and float() should accept any isnumeric() digit

2019-02-24 Thread Marcos Dione

New submission from Marcos Dione :

Following https://blog.lerner.co.il/pythons-str-isdigit-vs-str-isnumeric/, we 
have this:

Python 3.8.0a1+ (heads/master:001fee14e0, Feb 20 2019, 08:28:02)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> '一二三四五'.isnumeric()
True

>>> int('一二三四五')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: invalid literal for int() with base 10: '一二三四五'

>>> float('一二三四五')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: could not convert string to float: '一二三四五'

I think Reuven is right, these should be accepted as input. I just wonder if we 
should do the same for f.i. roman numerics...

--
components: Library (Lib)
messages: 336451
nosy: StyXman
priority: normal
severity: normal
status: open
title: int() and float() should accept any isnumeric() digit
type: behavior
versions: Python 2.7, Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8

___
Python tracker 
<https://bugs.python.org/issue36100>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36100] int() and float() should accept any isnumeric() digit

2019-02-24 Thread Marcos Dione


Marcos Dione  added the comment:

Thanks for all the examples, I'm convinced.

--
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed
versions: +Python 3.4, Python 3.5, Python 3.6

___
Python tracker 
<https://bugs.python.org/issue36100>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2018-05-25 Thread Marcos Dione

Marcos Dione  added the comment:

I'm really sorry, but I don't have time to continue with this (new daughter!). 
Can someone else pick it up?

--

___
Python tracker 
<https://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com




[issue33671] Efficient zero-copy for shutil.copy* functions (Linux, OSX and Win)

2018-06-13 Thread Marcos Dione


Marcos Dione  added the comment:

Thanks Gianpaolo for pushing for this. Great job.

--

___
Python tracker 
<https://bugs.python.org/issue33671>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-06-08 Thread Marcos Dione

Marcos Dione added the comment:

I added a couple of unit tests, which lead me to fix a couple of bugs (yay!).

I discarded the idea of removing any reference to flags.

--
Added file: http://bugs.python.org/file43310/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-06-09 Thread Marcos Dione

Marcos Dione added the comment:

Fixed the last comments, including comparing what was written to the original 
data, but only to the length of what was actually written. I'm just not sure if 
the way to handle the syscall not existing is ok.

--
Added file: http://bugs.python.org/file43318/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-06-09 Thread Marcos Dione

Marcos Dione added the comment:

ENOSYS catching fixed.

--
Added file: http://bugs.python.org/file43319/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-07-04 Thread Marcos Dione

Marcos Dione added the comment:

* Updated the patch to latest version.
* PEP-8'ed the tests.
* Dropped flags from the API but not the internal function.

--
Added file: http://bugs.python.org/file43624/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-07-06 Thread Marcos Dione

Marcos Dione added the comment:

New version:

* Adds a new test for offset parameters.

--
Added file: http://bugs.python.org/file43639/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-07-06 Thread Marcos Dione

Marcos Dione added the comment:

Another version:

* Changed availability to kernel type, version and date.

--
Added file: http://bugs.python.org/file43640/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-07-11 Thread Marcos Dione

Marcos Dione added the comment:

Fixed extra space and semicolon (?!?!). Also, I'm getting 500 errors from 
riedvelt when I try to reply to comments.

--
Added file: http://bugs.python.org/file43688/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26601] Use new madvise()'s MADV_FREE on the private heap

2016-03-21 Thread Marcos Dione

New submission from Marcos Dione:

Linux kernel's new madvise() MADV_FREE[1] could be used in the memory allocator 
to signal unused parts of the private heap as such, allowing the kernel use 
those pages for resolving lowmem pressure situations. From a LWN article[2]:

[...] Rather than reclaiming the pages immediately, this operation marks them 
for "lazy freeing" at some future point. Should the kernel run low on memory, 
these pages will be among the first reclaimed for other uses; should the 
application try to use such a page after it has been reclaimed, the kernel will 
give it a new, zero-filled page. But if memory is not tight, pages marked with 
MADV_FREE will remain in place; a future access to those pages will clear the 
"lazy free" bit and use the memory that was there before the MADV_FREE call. 

[...] MADV_FREE appears to be aimed at user-space memory allocator 
implementations. When an application frees a set of pages, the allocator will 
use an MADV_FREE call to tell the kernel that the contents of those pages no 
longer matter. Should the application quickly allocate more memory in the same 
address range, it will use the same pages, thus avoiding much of the overhead 
of freeing the old pages and allocating and zeroing the new ones. In short, 
MADV_FREE is meant as a way to say "I don't care about the data in this address 
range, but I may reuse the address range itself in the near future." 

Also note that this feature already exists in BSD kernels.

--
[1] 
http://kernelnewbies.org/Linux_4.5#head-42578a3e087d5bcc2940954a38ce794fe2cd642c

[2] https://lwn.net/Articles/590991/

--
components: Interpreter Core
messages: 262117
nosy: StyXman
priority: normal
severity: normal
status: open
title: Use new madvise()'s MADV_FREE on the private heap
type: enhancement
versions: Python 3.6

___
Python tracker 
<http://bugs.python.org/issue26601>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-22 Thread Marcos Dione

New submission from Marcos Dione:

copy_file_range() has been introduced in the Linux kernel since version 4.5 
(mid march 2016). This new syscall allows to copy data from one fd to another 
without passing by user space, improving speed in most cases. You can read more 
about it here:

https://lwn.net/Articles/659523/

I intend to start working on adding a binding for it in the os module and then, 
if it's available, use it in shutils.copy() to improve its efficiency. I have a 
couple of questions: If the syscall is not available, should I implement a user 
space alternative or should the method not exist at all?

--
components: Library (Lib)
messages: 264000
nosy: StyXman
priority: normal
severity: normal
status: open
title: Expose new copy_file_range() syscal in os module and use it to improve 
shutils.copy()
type: enhancement
versions: Python 3.6

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-23 Thread Marcos Dione

Marcos Dione added the comment:

Debian Sid, arch Linux and Fedora FC24 (alpha) already have linux-4.5, others 
would certainly follow soon. Meanwhile, I could start developing the patch and 
we could review it when you think it's appropriate.

--

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-23 Thread Marcos Dione

Marcos Dione added the comment:

Already there:

http://man7.org/linux/man-pages/man2/copy_file_range.2.html

--

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-25 Thread Marcos Dione

Marcos Dione added the comment:

Then I don't know. My only worry is whether having the method local to os would 
allow shutils.copy() to use it or not.

I will start by looking at other similar functions there to see to do it. 
urandom() looks like a good starting point.

--

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-26 Thread Marcos Dione

Changes by Marcos Dione :


Removed file: http://bugs.python.org/file42616/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-26 Thread Marcos Dione

Marcos Dione added the comment:

Version without the NEWS and ACKS change.

--
Added file: http://bugs.python.org/file42617/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-26 Thread Marcos Dione

Marcos Dione added the comment:

Ok, I have a preliminary version of the patch. It has several parts:

* Adding the functionality to the os module, with docstring.
* Make shutil.copyfileobj() to use it if available.
* Modify the docs (this has to be done by hand, right?).
* Modify NEWS and ACKS.

Several points:

* For the time being, flags must be 0, so I was not sure whether put the 
argument or not. Just in case, I put it.

* I'm not sure how to test for availability, so configure defines 
HAVE_COPY_FILE_RANGE.

* No tests yet.

Talking about tests, I tried copying a 325MiB on an SSD, f2fs. Here are the 
times:

Old user space copy:

$ time ./python -m timeit -n 10 -s 'import shutil' 'a = open ("a.mp4", "rb"); b 
= open ("b.mp4", "wb+"); shutil.copyfileobj (a, b, 16*1024*1024)'
10 loops, best of 3: 259 msec per loop
real0m7.915s
user0m0.104s
sys 0m7.792s


New copy_file_range:

$ time ./python -m timeit -n 10 -s 'import shutil' 'a = open ("a.mp4", "rb"); b 
= open ("b.mp4", "wb+"); shutil.copyfileobj (a, b, 16*1024*1024)'
10 loops, best of 3: 193 msec per loop
real0m5.926s
user0m0.080s
sys 0m5.836s

Some 20% improvement, but notice that the buffer size is 1024 times Python's 
default size (16MiB vs. 16KiB).

One difference that I notice in semantics is that if the file is not open in 
binary form, but the file is binary, you get no UnicodeDecodeError (because the 
data never reaches userspace).

Let me know what you think.

--
keywords: +patch
Added file: http://bugs.python.org/file42616/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-26 Thread Marcos Dione

Marcos Dione added the comment:

Hmm, I just noticed that it doesn't fallback to normal copy if the arguments 
are not valid (EBADF, EXDEV). Back to the drawing board...

--

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-26 Thread Marcos Dione

Changes by Marcos Dione :


Removed file: http://bugs.python.org/file42617/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-26 Thread Marcos Dione

Marcos Dione added the comment:

New version. Factoring the old method in a nested function also paves the way 
to implement https://bugs.python.org/issue25156 .

--
Added file: http://bugs.python.org/file42619/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-27 Thread Marcos Dione

Marcos Dione added the comment:

> I didn’t see any changes to the configure script in your patches. Did you 
> make that change to define HAVE_COPY_FILE_RANGE yet?

I'm not really sure how to make the test for configure.ac. Other functions are 
checked differently (availability of header files), but in this case it would 
need a compile test. I will have to investigate further.

> In /Modules/posixmodule.c (all three of your patches have an indented diff 
> header, so the review doesn’t pick it up):

indented diff header?

> +#ifdef HAVE_COPY_FILE_RANGE
> +/* The name says posix but currently it's Linux only */
> 
> What name are you referring to?

Posix, The function is not Posix at all. I can remove that comment.

> +return (!async_err) ? posix_error() : NULL;
> 
> This would make more sense with the logic swapped around: async_err? NULL : 
> posix_error()

I have to be honest, I just copied it from posix_sendfile(), but I agree.

I'll answer the last paragraph when I finished understanding it, but I think 
you mean things like zipFile.

--

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-27 Thread Marcos Dione

Marcos Dione added the comment:

Updated the patch withe most of Martin Panter's and all vadium's comments.

--
Added file: http://bugs.python.org/file42628/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26826] Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()

2016-04-28 Thread Marcos Dione

Marcos Dione added the comment:

> About changing copyfileobj(), here are some test cases which may help explain 
> the compatibility problems:

I see, I was expecting something like that after reading 
https://bugs.python.org/issue25063 's conclusions. I removed that part.

> Perhaps we could keep the new version as a high-level copy_file_range() 
> wrapper, but retain brute_force_copy() under the original copyfileobj() name. 
> A bit like the socket.sendfile() method vs os.sendfile().

You mean having always a copy_file_range() method that in the worst case would 
fallback to copyfileobj()? I'm considering using it to optimize copyfile() (and 
indirectly copy() and copy2()) instead. 

And sorry for the patch wrong format.

--
Added file: http://bugs.python.org/file42638/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-04-28 Thread Marcos Dione

Marcos Dione added the comment:

I'll do the copyfile() part once I'm convinced it doesn't break anything else.

--
title: Expose new copy_file_range() syscal in os module and use it to improve 
shutils.copy() -> Expose new copy_file_range() syscal in os module.

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-04-28 Thread Marcos Dione

Marcos Dione added the comment:

I managed to modify the congigure.ac file so it includes the proper test. after 
I run autoconf it generated the proper configure script, but I also needed to 
run autoheaders (both run by make autoconf). This last command modified a 
generated file that's in the repo, so I'm adding its diff too, but I'm not sure 
if that's ok.

--
Added file: http://bugs.python.org/file42640/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-04-29 Thread Marcos Dione

Marcos Dione added the comment:

> Yes, having a high-level version of copy_file_range() that falls back to 
> copyfileobj() should be okay.

I'm not sure about this. For the moment c_f_o() is available only if the 
syscall is there.


> I am wondering if it would be nice to rearrange the os.copy_file_range() 
> signature and make more parameters optional, [...]
> 
> copy_file_range(in, out, count, offset_in=None, offset_out=None, flags=0)

I agree with this, most of the time you will want to just advance both offsets, 
and providing None all the time can be tiring.

I fixed this, modified a little the doc, but now I'll read about integer types 
and sizes.

--

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-04-29 Thread Marcos Dione

Marcos Dione added the comment:

I fixed most of the type problems, except that I'm not sure how to convert to 
size_t. Someone suggested to convert with 'n', then check if it's negative and 
correct. I'll ask the mailing list for better suggestions.

I also noted that running 'hg diff' shows the modifications to 'configure', 
which I didn't include. This leads me to doubt whether including the 
modification to 'pyconfig.h' is ok, given that it's generated by 'autoheader'.

--
Added file: http://bugs.python.org/file42651/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-05-04 Thread Marcos Dione

Marcos Dione added the comment:

Sorry for the delay.

Based on suggestions in the mailing list, I changed the *count* handling as if 
it were a ssize_t, and I added a note about ignored output parameters.

--
title: Expose new copy_file_range() syscal in os module. -> Expose new 
copy_file_range() syscall in os module.
Added file: http://bugs.python.org/file42708/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



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

2016-05-12 Thread Marcos Dione

Marcos Dione added the comment:

I settled for s/in/src/ and s/out/dst/, fixed typos, made sure the docs are in 
sync (parameters in the docstring were out of order), rephrased paragraph about 
flags parameter and included the configure.ac code for detecting availability 
of the syscall. I'm also thinking of leaving flags out, what do you think?

--
Added file: http://bugs.python.org/file42829/copy_file_range.diff

___
Python tracker 
<http://bugs.python.org/issue26826>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28019] itertools.count() falls back to fast (integer) mode when step rounds to 1

2016-09-08 Thread Marcos Dione

New submission from Marcos Dione:

If the `step` parameter for `itertools.count()` rounds to 1 (f.i., 1.1, 
1.437643, 1.9), then it fallsback to fast (integer) mode and increases the 
counter by 1. Here's an example:

Python 3.6.0a4+ (default:ddc95a9bc2e0+, Sep  8 2016, 14:46:19)
>>> import itertools
>>> for i in itertools.count(1, step=1.5):
... print(i)
... if i > 10:
... break
1
2
3
4
5
6
7
8
9
10
11

--
components: Library (Lib)
messages: 275007
nosy: StyXman
priority: normal
severity: normal
status: open
title: itertools.count() falls back to fast (integer) mode when step rounds to 1
type: behavior
versions: Python 3.6

___
Python tracker 
<http://bugs.python.org/issue28019>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28019] itertools.count() falls back to fast (integer) mode when step rounds to 1

2016-09-08 Thread Marcos Dione

Marcos Dione added the comment:

Here's a first approach on fixing this bug. I'm not sure how to handle the case 
where step=1.0.

--
keywords: +patch
Added file: http://bugs.python.org/file44466/fix_28019.diff

___
Python tracker 
<http://bugs.python.org/issue28019>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28019] itertools.count() falls back to fast (integer) mode when step rounds to 1

2016-09-08 Thread Marcos Dione

Changes by Marcos Dione :


--
versions: +Python 3.3, Python 3.4

___
Python tracker 
<http://bugs.python.org/issue28019>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28019] itertools.count() falls back to fast (integer) mode when step rounds to 1

2016-09-08 Thread Marcos Dione

Marcos Dione added the comment:

New patch following comments from SilentGhost.

--
Added file: http://bugs.python.org/file44467/fix_28019.diff

___
Python tracker 
<http://bugs.python.org/issue28019>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28019] itertools.count() falls back to fast (integer) mode when step rounds to 1

2016-09-08 Thread Marcos Dione

Changes by Marcos Dione :


--
versions: +Python 3.3, Python 3.4

___
Python tracker 
<http://bugs.python.org/issue28019>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28273] Make os.waitpid() option parameter optional.

2016-09-25 Thread Marcos Dione

New submission from Marcos Dione:

According to the documentation, the second parameter for os.waitpid(), called 
options, must be most of the time 0. So why not make it the default value?

The attached patch implements the proposed change, which is API compatible with 
current usages of the function.

--
files: os_waitpid-optional_options.diff
keywords: patch
messages: 277383
nosy: StyXman
priority: normal
severity: normal
status: open
title: Make os.waitpid() option parameter optional.
Added file: http://bugs.python.org/file44822/os_waitpid-optional_options.diff

___
Python tracker 
<http://bugs.python.org/issue28273>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28273] Make os.waitpid() option parameter optional.

2016-09-25 Thread Marcos Dione

Changes by Marcos Dione :


--
components: +Library (Lib)
type:  -> enhancement
versions: +Python 3.7

___
Python tracker 
<http://bugs.python.org/issue28273>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com