summaryrefslogtreecommitdiff
path: root/portato
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2009-08-15 11:46:13 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2009-08-15 11:46:13 +0200
commit44d410d007e88d794e35e322082bec3ec69d5fa7 (patch)
tree61d43446b31b234e89b4cda50c341de326d0b176 /portato
parent327be30ad41bd0ea9c6757b7d527ab9d5baee2ef (diff)
downloadportato-44d410d007e88d794e35e322082bec3ec69d5fa7.tar.gz
portato-44d410d007e88d794e35e322082bec3ec69d5fa7.tar.bz2
portato-44d410d007e88d794e35e322082bec3ec69d5fa7.zip
Finish mq module
Diffstat (limited to 'portato')
-rw-r--r--portato/mq.pxd3
-rw-r--r--portato/mq.pyx12
2 files changed, 8 insertions, 7 deletions
diff --git a/portato/mq.pxd b/portato/mq.pxd
index ab5cfbe..be7631b 100644
--- a/portato/mq.pxd
+++ b/portato/mq.pxd
@@ -10,7 +10,8 @@
#
# Written by René 'Necoro' Neumann <necoro@necoro.net>
-from stdlib cimport *
+from python_string cimport *
+from python_mem cimport *
cdef extern from "errno.h":
int errno
diff --git a/portato/mq.pyx b/portato/mq.pyx
index a5d0745..e9ce464 100644
--- a/portato/mq.pyx
+++ b/portato/mq.pyx
@@ -84,7 +84,7 @@ cdef class MessageQueue (object):
if size >= MAX_MESSAGE_SIZE:
raise ValueError("Message must be smaller than %d", MAX_MESSAGE_SIZE)
- msg = <msg_data*>malloc(sizeof(msg_data) + size)
+ msg = <msg_data*>PyMem_Malloc(sizeof(msg_data) + size)
if msg is NULL:
raise MemoryError("Out of memory")
@@ -93,7 +93,7 @@ cdef class MessageQueue (object):
msg.mtype = type
with nogil:
- ret = msgsnd(self.msgid, &msg, size, 0)
+ ret = msgsnd(self.msgid, msg, size, 0)
try:
if ret == -1:
@@ -106,14 +106,14 @@ cdef class MessageQueue (object):
else:
raise OSError(errno, strerror(errno))
finally:
- free(msg)
+ PyMem_Free(msg)
def receive (self):
cdef msg_data * msg
cdef int ret
cdef object retTuple
- msg = <msg_data*>malloc(sizeof(msg_data) + MAX_MESSAGE_SIZE)
+ msg = <msg_data*>PyMem_Malloc(sizeof(msg_data) + MAX_MESSAGE_SIZE)
if msg is NULL:
raise MemoryError("Out of memory")
@@ -134,9 +134,9 @@ cdef class MessageQueue (object):
else:
raise OSError(errno, strerror(errno))
- retTuple = (msg.mtext, msg.mtype)
+ retTuple = (PyString_FromStringAndSize(msg.mtext, ret), msg.mtype)
finally:
- free(msg)
+ PyMem_Free(msg)
return retTuple
summary pageLars Hjemli2-1/+12 2006-12-16Move cgit_print_date into ui-shared, reuse in ui-summaryLars Hjemli4-20/+24 2006-12-16Add ui-commit.c + misc ui cleanupsLars Hjemli9-19/+140 2006-12-15Add a common commit parserLars Hjemli3-63/+75 2006-12-14Add simple pager to log pageLars Hjemli4-6/+37 2006-12-13Add separate makefile-rule to clear current cacheLars Hjemli1-2/+4 2006-12-13Remove implementation details from READMELars Hjemli1-53/+34 2006-12-13Small layout adjustments to summary and blob viewLars Hjemli3-5/+13 2006-12-13Add display of tree content w/ui-tree.cLars Hjemli9-8/+113 2006-12-12cache_lock: do xstrdup/free on lockfileLars Hjemli1-1/+2 2006-12-11Don't truncate valid cachefilesLars Hjemli3-4/+16 2006-12-11Move global variables + callback functions into shared.cLars Hjemli4-82/+86 2006-12-11Move functions for generic object output into ui-view.cLars Hjemli4-34/+43 2006-12-11Move log-functions into ui-log.cLars Hjemli5-111/+121 2006-12-11Move repo summary functions into ui-summary.cLars Hjemli4-47/+59 2006-12-11Move functions for repolist output into ui-repolist.cLars Hjemli5-70/+90 2006-12-11Move common output-functions into ui-shared.cLars Hjemli4-82/+99 2006-12-11Rename config.c to parsing.c + move cgit_parse_query from cgit.c to parsing.cLars Hjemli4-28/+29 2006-12-11Avoid infinite loops in caching layerLars Hjemli3-14/+31 2006-12-11Let 'make install' clear all cachefilesLars Hjemli1-0/+2 2006-12-11Fix cache algorithm loopholeLars Hjemli3-11/+16 2006-12-10Add version identifier in generated filesLars Hjemli2-9/+14 2006-12-10Add license file and copyright noticesLars Hjemli5-0/+372 2006-12-10Add caching infrastructureLars Hjemli9-28/+353