<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) return null;
Object ret = vec[first];
first++;
size--;