<tt>block</tt> is true and the queue is empty. */
public synchronized Object remove(boolean block) {
- try { wait(); } catch (InterruptedException e) { }
- if (!block) return null;
+ while (size == 0 && block) {
+ try { wait(); } catch (InterruptedException e) { }
+ }
+ if (!block && size == 0) return null;
Object ret = vec[first];
first++;
size--;