Author: Armin Rigo <[email protected]>
Branch: vmprof-review
Changeset: r78757:1cf561fab385
Date: 2015-08-04 11:39 +0200
http://bitbucket.org/pypy/pypy/changeset/1cf561fab385/
Log: reserve_buffer() can return NULL
diff --git a/rpython/rlib/rvmprof/src/rvmprof.c
b/rpython/rlib/rvmprof/src/rvmprof.c
--- a/rpython/rlib/rvmprof/src/rvmprof.c
+++ b/rpython/rlib/rvmprof/src/rvmprof.c
@@ -311,7 +311,13 @@
RPY_EXTERN
void rpython_vmprof_write_buf(char *buf, long size)
{
- struct profbuf_s *p = reserve_buffer(profile_file);
+ struct profbuf_s *p;
+
+ while ((p = reserve_buffer(profile_file)) == NULL) {
+ /* spin loop waiting for a buffer to be ready; should almost never
+ be the case */
+ usleep(1);
+ }
if (size > SINGLE_BUF_SIZE)
size = SINGLE_BUF_SIZE;
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit