From: Jonathan L. <le...@us...> - 2009-04-23 20:56:06
|
Update of /cvsroot/pyxida/AsyncJ/src/edu/harvard/syrah/sbon/async In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv31027/edu/harvard/syrah/sbon/async Modified Files: EL.java Sync.java Log Message: converted Sync.callBlocking to use thread pool (untested) Index: EL.java =================================================================== RCS file: /cvsroot/pyxida/AsyncJ/src/edu/harvard/syrah/sbon/async/EL.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EL.java 14 Aug 2007 11:18:13 -0000 1.2 --- EL.java 23 Apr 2009 20:55:47 -0000 1.3 *************** *** 317,321 **** SelectionKey key = channel.keyFor(selector); ! assert key != null; // Deregister with selector while preserving previous registrations channel.register(selector, key.interestOps() & (~selectionKey), channelSub); --- 317,324 ---- SelectionKey key = channel.keyFor(selector); ! if (key == null) { ! log.warn("key==null channel=" + channel + " Ignoring."); ! return; ! } // Deregister with selector while preserving previous registrations channel.register(selector, key.interestOps() & (~selectionKey), channelSub); Index: Sync.java =================================================================== RCS file: /cvsroot/pyxida/AsyncJ/src/edu/harvard/syrah/sbon/async/Sync.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Sync.java 15 Jun 2007 16:13:23 -0000 1.2 --- Sync.java 23 Apr 2009 20:55:47 -0000 1.3 *************** *** 9,12 **** --- 9,13 ---- import edu.harvard.syrah.sbon.async.CallbacksIF.CB0; + import java.util.concurrent.Executors; public class Sync { *************** *** 14,17 **** --- 15,22 ---- private static int threadCounter = 0; + + static final java.util.concurrent.ScheduledExecutorService scheduler = + Executors.newScheduledThreadPool(10); + /* *************** *** 42,46 **** }; ! blockingThread.run(); } } --- 47,54 ---- }; ! //blockingThread.run(); ! ! scheduler.execute (blockingThread); ! } } |