Bug#757000: [PATCH] Fix re-enabling of cursor with slang also after pressing Ctrl-C

2014-08-04 Thread Martin Steigerwald
According to curs_set(0) in ui_init() I think curs_set(1) belongs into
ui_end with in die_on_signal() also gets called on SIGINT or SIGTERM.

This should complete the fix made by Andreas in commit 4f4daf8f.

I could not yet test the fix as building current git fails with:

/usr/bin/ld: sys-utils/swapoff-swapon-common.o: undefined reference to symbol 
'blkid_probe_lookup_value@@BLKID_2.15'
//home/martin/Linux/util-linux/util-linux/.libs/libblkid.so.1: error adding 
symbols: DSO missing from command line

Will test as soon as I found out how to fix this build issue. Benno
reported it already on mailing list.

Addresses-Debian-Bug: #757000
BCC´d there for reference.
---
 disk-utils/cfdisk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
index dfdaaf0..536132a 100644
--- a/disk-utils/cfdisk.c
+++ b/disk-utils/cfdisk.c
@@ -525,6 +525,7 @@ static int ui_end(void)
 #else
mvcur(0, COLS - 1, LINES-1, 0);
 #endif
+   curs_set(1);
nl();
endwin();
printf(\n);
@@ -1966,7 +1967,6 @@ static int ui_run(struct cfdisk *cf)
 
menu_pop(cf);
 
-   curs_set(1);
DBG(FRONTEND, ul_debug(ui: end));
 
return 0;
-- 
2.0.1


Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

signature.asc
Description: This is a digitally signed message part.


Bug#757000: [PATCH] Fix re-enabling of cursor with slang also after pressing Ctrl-C

2014-08-04 Thread Martin Steigerwald
Am Montag, 4. August 2014, 13:28:11 schrieben Sie:
 According to curs_set(0) in ui_init() I think curs_set(1) belongs into
 ui_end with in die_on_signal() also gets called on SIGINT or SIGTERM.
 
 This should complete the fix made by Andreas in commit 4f4daf8f.
 
 I could not yet test the fix as building current git fails with:
 
 /usr/bin/ld: sys-utils/swapoff-swapon-common.o: undefined reference to
 symbol 'blkid_probe_lookup_value@@BLKID_2.15'
 //home/martin/Linux/util-linux/util-linux/.libs/libblkid.so.1: error adding
 symbols: DSO missing from command line
 
 Will test as soon as I found out how to fix this build issue. Benno
 reported it already on mailing list.
 
 Addresses-Debian-Bug: #757000
 BCC´d there for reference.

Scratch that.

Fix doesn´t work.

Cursor is displayed on regular end, but not on Ctrl-C.

Don´t get why tough.

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

signature.asc
Description: This is a digitally signed message part.


Bug#757000: [PATCH] Fix re-enabling of cursor with slang also after pressing Ctrl-C

2014-08-04 Thread Martin Steigerwald
Am Montag, 4. August 2014, 13:53:34 schrieb Martin Steigerwald:
 Am Montag, 4. August 2014, 13:28:11 schrieben Sie:
  According to curs_set(0) in ui_init() I think curs_set(1) belongs into
  ui_end with in die_on_signal() also gets called on SIGINT or SIGTERM.
  
  This should complete the fix made by Andreas in commit 4f4daf8f.
  
  I could not yet test the fix as building current git fails with:
  
  /usr/bin/ld: sys-utils/swapoff-swapon-common.o: undefined reference to
  symbol 'blkid_probe_lookup_value@@BLKID_2.15'
  //home/martin/Linux/util-linux/util-linux/.libs/libblkid.so.1: error
  adding
  symbols: DSO missing from command line
  
  Will test as soon as I found out how to fix this build issue. Benno
  reported it already on mailing list.
  
  Addresses-Debian-Bug: #757000
  BCC´d there for reference.
 
 Scratch that.
 
 Fix doesn´t work.
 
 Cursor is displayed on regular end, but not on Ctrl-C.
 
 Don´t get why tough.

Patch may still be correct, but SIGINT handler is broke:

martin@merkaba:~/Linux/util-linux/util-linux sudo ./cfdisk [quitted] 
regularily] 
ui_end called!
martin@merkaba:~/Linux/util-linux/util-linux sudo ./cfdisk [Ctrl-C]
martin@merkaba:~/Linux/util-linux/util-linux#2

Its supposed to call ui_end(); but doesnt as above example demonstrates.


 785 static int ui_init(struct cfdisk *cf __attribute__((__unused__)))
 786 {
 787 »···struct sigaction sa;
 788 
 789 »···DBG(FRONTEND, ul_debug(ui: init));
 790 
 791 »···/* setup SIGCHLD handler */
 792 »···sigemptyset(sa.sa_mask);
 793 »···sa.sa_flags = 0;
 794 »···sa.sa_handler = die_on_signal;
 795 »···sigaction(SIGINT, sa, NULL);  
   
 796 »···sigaction(SIGTERM, sa, NULL);


 662 static void die_on_signal(int dummy __attribute__((__unused__)))
 663 {  
   
 664 »···DBG(FRONTEND, ul_debug(die on signal.));
 665 »···ui_end();
 666 »···exit(EXIT_FAILURE);
 667 }


 517 static int ui_end(void)
 518 {
 519 »···if (!ui_enabled)
 520 »···»···return -EINVAL;
   
 521 
 522 #if defined(HAVE_SLCURSES_H) || defined(HAVE_SLANG_SLCURSES_H)
 523 »···SLsmg_gotorc(LINES - 1, 0);
 524 »···SLsmg_refresh();
 525 #else
 526 »···mvcur(0, COLS - 1, LINES-1, 0);
 527 #endif
 528 »···printf(ui_end called!);
 529 »···curs_set(1);
 530 »···nl();
 531 »···endwin();
 532 »···printf(\n);
 533 »···ui_enabled = 0;
 534 »···return 0;
 535 }

Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

signature.asc
Description: This is a digitally signed message part.