Author: Maciej Fijalkowski <fij...@gmail.com> Branch: gc-minimark-pinning Changeset: r54999:de5922dc19fa Date: 2012-05-09 23:14 +0200 http://bitbucket.org/pypy/pypy/changeset/de5922dc19fa/
Log: fix more usages diff --git a/pypy/module/bz2/interp_bz2.py b/pypy/module/bz2/interp_bz2.py --- a/pypy/module/bz2/interp_bz2.py +++ b/pypy/module/bz2/interp_bz2.py @@ -195,7 +195,7 @@ self._allocate_chunk(initial_size) def _allocate_chunk(self, size): - self.raw_buf, self.gc_buf = rffi.alloc_buffer(size) + self.raw_buf, self.gc_buf, self.is_pinned = rffi.alloc_buffer(size) self.current_size = size self.bzs.c_next_out = self.raw_buf rffi.setintfield(self.bzs, 'c_avail_out', size) @@ -204,7 +204,8 @@ assert 0 <= chunksize <= self.current_size raw_buf = self.raw_buf gc_buf = self.gc_buf - s = rffi.str_from_buffer(raw_buf, gc_buf, self.current_size, chunksize) + s = rffi.str_from_buffer(raw_buf, gc_buf, self.current_size, chunksize, + self.is_pinned) rffi.keep_buffer_alive_until_here(raw_buf, gc_buf) self.current_size = 0 return s diff --git a/pypy/rlib/rsocket.py b/pypy/rlib/rsocket.py --- a/pypy/rlib/rsocket.py +++ b/pypy/rlib/rsocket.py @@ -934,13 +934,10 @@ if timeout == 1: raise SocketTimeout elif timeout == 0: - raw_buf, gc_buf = rffi.alloc_buffer(buffersize) - try: - read_bytes = _c.socketrecv(self.fd, raw_buf, buffersize, flags) + with rffi.scoped_alloc_buffer(buffersize) as buf: + read_bytes = _c.socketrecv(self.fd, buf.raw, buffersize, flags) if read_bytes >= 0: - return rffi.str_from_buffer(raw_buf, gc_buf, buffersize, read_bytes) - finally: - rffi.keep_buffer_alive_until_here(raw_buf, gc_buf) + return buf.str(read_bytes) raise self.error_handler() def recvinto(self, rwbuffer, nbytes, flags=0): @@ -956,11 +953,11 @@ if timeout == 1: raise SocketTimeout elif timeout == 0: - raw_buf, gc_buf = rffi.alloc_buffer(buffersize) - try: + with rffi.scoped_alloc_buffer(buffersize) as buf: address, addr_p, addrlen_p = self._addrbuf() try: - read_bytes = _c.recvfrom(self.fd, raw_buf, buffersize, flags, + read_bytes = _c.recvfrom(self.fd, buf.raw, + buffersize, flags, addr_p, addrlen_p) addrlen = rffi.cast(lltype.Signed, addrlen_p[0]) finally: @@ -971,10 +968,7 @@ address.addrlen = addrlen else: address = None - data = rffi.str_from_buffer(raw_buf, gc_buf, buffersize, read_bytes) - return (data, address) - finally: - rffi.keep_buffer_alive_until_here(raw_buf, gc_buf) + return (buf.str(read_bytes), address) raise self.error_handler() def recvfrom_into(self, rwbuffer, nbytes, flags=0): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit