=== modified file 'ChangeLog'
--- ChangeLog	2011-04-01 20:13:21 +0000
+++ ChangeLog	2011-04-16 13:01:14 +0000
@@ -1,4 +1,6 @@
 Changes in 1.1.4 (NOT RELEASED YET)
+- Fixed hang on decompress with --ignore-trailing-garbage=1 when
+  producer is interrupted on trailing garbage (bug #762464)
 - Added example to help for decompression piped to tar (bug #746806)
 - Fixed typo in Trailing Garbage printed message (bug #746799)
 Changes in 1.1.3 (Mar 27, 2011)

=== modified file 'pbzip2.cpp'
--- pbzip2.cpp	2011-04-01 20:13:21 +0000
+++ pbzip2.cpp	2011-04-16 13:01:14 +0000
@@ -192,6 +192,8 @@
  *                    - Default extension on decompress of .tbz2 changed to .tar for 
  *                      bzip2 compatibility (bug #743639)
  *                    - Print trailing garbage errors even when in quiet mode (bug #743635)
+ *                    - Fixed hang on decompress with --ignore-trailing-garbage=1 when
+ *                      producer is interrupted on trailing garbage (bug #762464)
  *
  *
  *  Specials thanks for suggestions and testing:  Phillippe Welsh,
@@ -1247,6 +1249,8 @@
 
 		if (producerDecompressCheckInterrupt(hInfile, fileData, NumBlocks) != 0)
 		{
+			safe_cond_broadcast(fifo->notEmpty); // just in case
+			syncSetProducerDone(1);
 			return 0;
 		}
 
@@ -1272,6 +1276,8 @@
 
 			if (producerDecompressCheckInterrupt(hInfile, fileData, NumBlocks) != 0)
 			{
+				safe_cond_broadcast(fifo->notEmpty); // just in case
+				syncSetProducerDone(1);
 				safe_mutex_unlock(fifo->mut);
 				return 0;
 			}
@@ -1344,7 +1350,8 @@
 		#endif
 	}
 	if ( (syncGetLastGoodBlock() != -1) &&
-		( (lastElement == NULL) || (lastElement->blockNumber > syncGetLastGoodBlock()) ) )
+		( (lastElement == NULL) || (lastElement->blockNumber > syncGetLastGoodBlock())
+					|| lastElement->isLastInSequence ) )
 	{
 		isInterrupted = true;
 

