Changeset 66a292a9


Ignore:
Timestamp:
May 12, 2009 9:10:42 PM (11 years ago)
Author:
sponge <sponge@…>
Branches:
master
Children:
a267fcc
Parents:
7372a18c
Message:

2009-05-12 sponge

  • BOB clean up, change println's to _log.warn, bump BOB version
  • I2PSessionMuxedImpl.java changes as per zzz, and they test OK for me.
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • apps/BOB/src/net/i2p/BOB/DoCMDS.java

    r7372a18c r66a292a9  
    4747        // FIX ME
    4848        // I need a better way to do versioning, but this will do for now.
    49         public static final String BMAJ = "00",  BMIN = "00",  BREV = "05",  BEXT = "";
     49        public static final String BMAJ = "00",  BMIN = "00",  BREV = "06",  BEXT = "";
    5050        public static final String BOBversion = BMAJ + "." + BMIN + "." + BREV + BEXT;
    5151        private Socket server;
  • apps/BOB/src/net/i2p/BOB/MUXlisten.java

    r7372a18c r66a292a9  
    236236                                        } // die
    237237
    238                                 // I2PSession session = socketManager.getSession();
    239                                 // if (session != null) {
    240                                 // System.out.println("I2Plistener: destroySession");
    241                                 //      try {
    242                                 //              session.destroySession();
    243                                 //      } catch (I2PSessionException ex) {
    244                                 // nop
    245                                 //      }
    246                                 // }
    247                                 // try {
    248                                 //      socketManager.destroySocketManager();
    249                                 //} catch (Exception e) {
    250                                 // nop
    251                                 //}
    252238                                } catch (Exception e) {
    253239                                        // System.out.println("MUXlisten: Caught an exception" + e);
     
    256242                        } // quit
    257243                } finally {
    258                         // allow threads above this one to catch the stop signal.
     244                        // Start cleanup. Allow threads above this one to catch the stop signal.
    259245                        try {
    260246                                Thread.sleep(250);
     
    276262                        }
    277263
    278                         //try {
    279                         //      Thread.sleep(1000 * 20); // how long?? is this even needed??
    280                         //} catch (InterruptedException ex) {
    281                         //}
    282264
    283265                        if (SS != null) {
     
    293275                                }
    294276                        }
     277
    295278                        try {
    296279                                socketManager.destroySocketManager();
     
    298281                                // nop
    299282                                }
    300                         // This is here to catch when something fucks up REALLY bad, like those annoying stuck threads!
     283                        // Wait around till all threads are collected.
    301284                        if (tg != null) {
    302285                                String boner = tg.getName();
     286                                _log.warn("BOB: MUXlisten: Starting thread collection for: " + boner);
    303287                                // tg.interrupt(); // give my stuff a small smack again.
    304288                                if (tg.activeCount() + tg.activeGroupCount() != 0) {
    305289                                        int foo = tg.activeCount() + tg.activeGroupCount();
    306                                         int bar = foo;
    307290                                        // hopefully no longer needed!
     291                                        // int bar = foo;
    308292                                        // System.out.println("BOB: MUXlisten: Waiting on threads for " + boner);
    309                                         // System.out.println("\n\nBOB: MUXlisten: ThreadGroup dump BEGIN " + boner);
     293                                        // System.out.println("\nBOB: MUXlisten: ThreadGroup dump BEGIN " + boner);
    310294                                        // visit(tg, 0, boner);
    311                                         // System.out.println("BOB: MUXlisten: ThreadGroup dump END " + boner + "\n\n");
     295                                        // System.out.println("BOB: MUXlisten: ThreadGroup dump END " + boner + "\n");
    312296                                        // Happily spin forever :-(
    313                                         while ((tg.activeCount() + tg.activeGroupCount() != 0)) {
     297                                        while (foo != 0) {
    314298                                                foo = tg.activeCount() + tg.activeGroupCount();
    315299                                                //      if (foo != bar) {
    316                                                 //              System.out.println("\n\nBOB: MUXlisten: ThreadGroup dump BEGIN " + boner);
     300                                                //              System.out.println("\nBOB: MUXlisten: ThreadGroup dump BEGIN " + boner);
    317301                                                //              visit(tg, 0, boner);
    318                                                 //              System.out.println("BOB: MUXlisten: ThreadGroup dump END " + boner + "\n\n");
     302                                                //              System.out.println("BOB: MUXlisten: ThreadGroup dump END " + boner + "\n");
    319303                                                //      }
    320                                                 bar = foo;
     304                                                // bar = foo;
    321305                                                try {
    322306                                                        Thread.sleep(100); //sleep for 100 ms (One tenth second)
     
    326310                                        }
    327311                                }
    328                                 System.out.println("BOB: MUXlisten: Threads went away. Success: " + boner);
     312                                _log.warn("BOB: MUXlisten: Threads went away. Success: " + boner);
    329313                                tg.destroy();
    330314                                // Zap reference to the ThreadGroup so the JVM can GC it.
     
    335319
    336320
    337         // Debugging...
     321        // Debugging... None of this is normally used.
    338322        /**
    339323         *      Find the root thread group and print them all.
  • core/java/src/net/i2p/client/I2PSessionMuxedImpl.java

    r7372a18c r66a292a9  
    201201    protected class MuxedAvailabilityNotifier extends AvailabilityNotifier {
    202202        private LinkedBlockingQueue<MsgData> _msgs;
    203         private volatile Boolean _alive = new Boolean(false);
     203        private volatile boolean _alive = false;
    204204        private static final int POISON_SIZE = -99999;
    205205        private final AtomicBoolean stopping = new AtomicBoolean(false);
     
    213213            boolean again = true;
    214214            synchronized (stopping) {
    215                 if(!stopping.get()) {
    216                     stopping.set(true);
    217                     if (_alive.equals(true)) {
     215                if( !stopping.getAndSet(true)) {
     216                    if (_alive == true) {
    218217                        // System.out.println("I2PSessionMuxedImpl.stopNotifying()");
    219218                        _msgs.clear();
     
    231230                    stopping.set(false);
    232231                }
    233                 stopping.notifyAll();
     232                // stopping.notifyAll();
    234233            }
    235234        }
     
    252251                    msg = _msgs.take();
    253252                } catch (InterruptedException ie) {
    254                     _log.debug("I2PSessionMuxedImpl.run() InterruptedException " + String.valueOf(_msgs.size()) + " Messages, Alive " + _alive.toString());
     253                    _log.debug("I2PSessionMuxedImpl.run() InterruptedException " + String.valueOf(_msgs.size()) + " Messages, Alive " + _alive);
    255254                    continue;
    256255                }
  • history.txt

    r7372a18c r66a292a9  
     12009-05-12 sponge
     2    * BOB clean up, change println's to _log.warn, bump BOB version
     3    * I2PSessionMuxedImpl.java changes as per zzz, and they test OK for me.
     4
    152009-05-11 zzz
    26    * Connect client: Fix NPE when used with advanced i2ptunnel features
  • router/java/src/net/i2p/router/RouterVersion.java

    r7372a18c r66a292a9  
    1919    public final static String ID = "Monotone";
    2020    public final static String VERSION = CoreVersion.VERSION;
    21     public final static long BUILD = 13;
     21    public final static long BUILD = 14;
    2222    /** for example "-test" */
    2323    public final static String EXTRA = "";
Note: See TracChangeset for help on using the changeset viewer.