Filewatcher File Search
FTP Search
  
Directory (beta)
  
Content Search (beta)
   
pkg://kdepim-3.4.0-4.src.rpm:11416961/kdepim-3.4.0-kandy-lockdev.patch  info  downloads

--- /dev/null	2005-03-15 19:20:16.100072648 +0100
+++ kdepim-3.4.0/kandy/configure.in.in	2005-03-23 16:43:58.312096870 +0100
@@ -0,0 +1,12 @@
+# check for lockdev, optionally used to lock serial device
+AH_TEMPLATE(HAVE_LOCKDEV)
+AC_CHECK_HEADERS(lockdev.h, HAVE_LOCKDEV_H=1, HAVE_LOCKDEV_H=)
+AC_SUBST(HAVE_LOCKDEV_H)
+# we check for dev_unlock since kmobile checks dev_lock, caches it
+# and the variables are fucked up then... *sigh*
+if test -n "$HAVE_LOCKDEV_H"; then
+	AC_CHECK_LIB(lockdev, dev_unlock,
+	[KANDY_LIBLOCKDEV="-llockdev $KANDY_LIBLOCKDEV"
+AC_DEFINE(HAVE_LOCKDEV)], , $KANDY_LIBLOCKDEV)
+fi
+AC_SUBST(KANDY_LIBLOCKDEV)
--- kdepim-3.4.0/kandy/src/modem.cpp.orig	2005-03-17 20:06:48.000000000 +0100
+++ kdepim-3.4.0/kandy/src/modem.cpp	2005-03-23 16:43:58.313096705 +0100
@@ -264,9 +264,22 @@
   }
 }
 
+#ifdef HAVE_LOCKDEV
+#include <lockdev.h>
+#endif
 
 bool Modem::lockDevice()
 {
+  if ( is_locked )
+    return true;
+
+#ifdef HAVE_LOCKDEV
+  is_locked = !dev_lock( (*prefs).serialDevice().local8Bit() );
+  if (!is_locked)
+      emit errorMessage( i18n( "Unable to lock device '%1'." ).arg(
+                             (*prefs).serialDevice() ));
+  return is_locked;
+#else
   ssize_t count;
   pid_t pid;
   int lfd;
@@ -274,10 +287,6 @@
   QStringList pathList;
   QString fileName, content;
 
-
-  if ( is_locked )
-    return true;
-
   pathList = QStringList::split( "/", (*prefs).serialDevice() );
   fileName = (*prefs).lockDirectory() + "/LCK.." + pathList.last();
 
@@ -337,17 +346,22 @@
   is_locked = true;
 
   return true;
+#endif
 }
 
 
 void Modem::unlockDevice()
 {
+#ifdef HAVE_LOCKDEV
+  dev_unlock( (*prefs).serialDevice().local8Bit(), getpid() );
+#else
   if ( is_locked ) {
     QStringList pathList = QStringList::split( "/", (*prefs).serialDevice() );
 
     QFile::remove( (*prefs).lockDirectory() + "/LCK.." + pathList.last() );
     is_locked = false;
   }
+#endif
 }
 
 
--- kdepim-3.4.0/kandy/src/Makefile.am.orig	2003-10-22 17:02:55.000000000 +0200
+++ kdepim-3.4.0/kandy/src/Makefile.am	2005-03-23 16:43:58.313096705 +0100
@@ -3,7 +3,7 @@
 INCLUDES = -I$(top_srcdir) $(all_includes)
 
 kandy_LDFLAGS = $(KDE_RPATH) $(all_libraries)
-kandy_LDADD   = $(LIB_KFILE) -lkabc $(top_builddir)/libkdepim/libkdepim.la
+kandy_LDADD   = $(KANDY_LIBLOCKDEV) $(LIB_KFILE) -lkabc $(top_builddir)/libkdepim/libkdepim.la
 kandy_SOURCES =	main.cpp kandy.cpp \
                 cmdpropertiesdialog_base.ui cmdpropertiesdialog.cpp \
                 kandyview.cpp \
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2008 IT MARUHN