Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37708406
en ru br
Репозитории ALT
S:1.22.0-alt2
5.1: 1.2.0-alt1
4.1: 1.1.7-alt1.M41.1
4.0: 1.1.6-alt1
3.0: 1.0.3-alt1
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: gpgme

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: gpgme-0.3.16-fix-select-status.patch
Скачать


--- gpgme-0.3.16/gpgme/rungpg.c.fix-select-status	2002-11-26 00:04:52 +0300
+++ gpgme-0.3.16/gpgme/rungpg.c	2004-08-26 20:13:03 +0400
@@ -1100,6 +1100,22 @@ read_status (GpgObject gpg)
 				      (gpg->cmd.linked_data, fds.fd);
 				}
 			      while (fds.signaled);
+			      /* After messing with the fd directly we must
+				 remove it and add it again to clear the
+				 possible outstanding ready condition,
+				 otherwise the event loop might remember that
+				 the fd was ready and call its callback, which
+				 will block in read().  */
+			      if (gpg->fd_data_map[gpg->cmd.linked_idx].tag)
+				{
+				  struct fd_data_map_s *map =
+				    &gpg->fd_data_map[gpg->cmd.linked_idx];
+				  (*gpg->io_cbs.remove) (map->tag);
+				  _gpgme_gpg_add_io_cb
+				    (gpg, map->fd, 1,
+				     _gpgme_data_inbound_handler,
+				     map->data, &map->tag);
+				}
 			    }
 
 			  _gpgme_gpg_add_io_cb
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin