-# -*-pyrex-*-
-#
-# $Id$
-#
-# File selectors
-#
-# (c) 2005 Straylight/Edgeware
-#
+### -*-pyrex-*-
+###
+### File selectors
+###
+### (c) 2005 Straylight/Edgeware
+###
-#----- Licensing notice -----------------------------------------------------
-#
-# This file is part of the Python interface to mLib.
-#
-# mLib/Python is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# mLib/Python is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with mLib/Python; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of the Python interface to mLib.
+###
+### mLib/Python is free software; you can redistribute it and/or modify
+### it under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2 of the License, or
+### (at your option) any later version.
+###
+### mLib/Python is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with mLib/Python; if not, write to the Free Software Foundation,
+### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
SEL_READ = _SEL_READ
SEL_WRITE = _SEL_WRITE
cdef int _activep
cdef readonly unsigned mode
cdef _readyfunc
- def __new__(me, fd, int mode = SEL_READ, readyproc = None,
+ def __cinit__(me, fd, int mode = SEL_READ, readyproc = None,
*hunoz, **hukairz):
if (mode != _SEL_READ and
mode != _SEL_WRITE and
sel_initfile(&_sel, &me.f, _getfd(fd), mode, _filefunc, <void *>me)
me._activep = 0
me.mode = mode
- me._ready = _checkcallable(readyproc, 'ready proc')
+ me._readyfunc = _checkcallable(readyproc, 'ready proc')
def __dealloc__(me):
if me._activep:
sel_rmfile(&me.f)
return _tobool(me._activep)
property readyproc:
def __get__(me):
- return me._ready
+ return me._readyfunc
def __set__(me, proc):
- me._ready = _checkcallable(proc, 'ready proc')
+ me._readyfunc = _checkcallable(proc, 'ready proc')
def __del__(me):
- me._ready = None
+ me._readyfunc = None
def enable(me):
if me._activep:
raise ValueError, 'already enabled'
def disabled(me):
pass
def ready(me):
- return _maybecall(me._ready, ())
+ return _maybecall(me._readyfunc, ())
-cdef void _filefunc2(void *arg):
+cdef void _filefunc(int fd, unsigned mode, void *arg):
cdef SelFile sf
sf = <SelFile>arg
sf.ready()
-cdef void _filefunc(int fd, unsigned mode, void *arg):
- PyEval_AcquireLock()
- _filefunc2(arg)
- PyEval_ReleaseLock()
-#----- That's all, folks ----------------------------------------------------
+###----- That's all, folks --------------------------------------------------