From 6771940e88c90bcb3e7165c1b5b0efc75a13d99c Mon Sep 17 00:00:00 2001 From: Pietro Cerutti Date: Sat, 23 May 2009 11:52:52 +0000 Subject: - Fix process handling routines. Do not issue external ps(1) commands, but use kvm instead. - Fix the codelite_kill_children shell script --- .../codelite/files/patch-CodeLite_procutils.cpp | 101 +++++++++++++++++++++ .../files/patch-Runtime_codelite_kill_children | 10 ++ editors/codelite/files/patch-configure | 31 +++---- 3 files changed, 123 insertions(+), 19 deletions(-) create mode 100644 editors/codelite/files/patch-CodeLite_procutils.cpp create mode 100644 editors/codelite/files/patch-Runtime_codelite_kill_children (limited to 'editors/codelite') diff --git a/editors/codelite/files/patch-CodeLite_procutils.cpp b/editors/codelite/files/patch-CodeLite_procutils.cpp new file mode 100644 index 000000000000..f18f8fbdf2b2 --- /dev/null +++ b/editors/codelite/files/patch-CodeLite_procutils.cpp @@ -0,0 +1,101 @@ +--- CodeLite/procutils.cpp.orig 2009-01-09 17:34:59.000000000 +0100 ++++ CodeLite/procutils.cpp 2009-05-23 13:45:05.000000000 +0200 +@@ -40,6 +40,15 @@ + + #endif + ++#ifdef __FreeBSD__ ++#include ++#include ++#include ++#include ++#include ++#include ++#endif ++ + ProcUtils::ProcUtils() + { + } +@@ -135,6 +144,24 @@ + CloseHandle( hModuleSnap ); + return me32.szExePath; + ++#elif defined(__FreeBSD__) ++ kvm_t *kvd; ++ struct kinfo_proc *ki; ++ int nof_procs; ++ wxString cmd; ++ ++ if (!(kvd = kvm_openfiles(_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL))) ++ return wxEmptyString; ++ ++ if (!(ki = kvm_getprocs(kvd, KERN_PROC_PID, pid, &nof_procs))) { ++ kvm_close(kvd); ++ return wxEmptyString; ++ } ++ ++ cmd = wxString(ki->ki_ocomm, wxConvUTF8); ++ kvm_close(kvd); ++ ++ return (cmd); + #else + wxArrayString output; + ExecuteCommand(wxT("ps -A -o pid,command --no-heading"), output); +@@ -223,6 +250,28 @@ + proclist.push_back(entry); + } while (Process32Next (hProcessSnap, &pe)); + CloseHandle (hProcessSnap); ++ ++#elif defined(__FreeBSD__) ++ kvm_t *kvd; ++ struct kinfo_proc *ki; ++ int nof_procs, i; ++ ++ if (!(kvd = kvm_openfiles(_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL))) ++ return; ++ ++ if (!(ki = kvm_getprocs(kvd, KERN_PROC_PROC, 0, &nof_procs))) { ++ kvm_close(kvd); ++ return; ++ } ++ ++ for (i=0; i> Makefile -- echo " @echo ==========================================================" >> Makefile -- echo " @echo Done, please run \"sudo make install\"." >> Makefile -- echo " @echo ==========================================================" >> Makefile -- fi -+ echo "post_build_msg:" >> Makefile -+ echo " @echo ==========================================================" >> Makefile -+ echo " @echo Done, please run \"sudo make install\"." >> Makefile -+ echo " @echo ==========================================================" >> Makefile - } - - ## main +--- configure.orig 2009-03-12 13:14:45.000000000 +0100 ++++ configure 2009-05-23 00:58:21.000000000 +0200 +@@ -70,6 +70,9 @@ + else + echo "CCFLAGS := \$(CCFLAGS) -D__APPLE__ -DMACOSX" >> Makefile + fi ++ if [ "$os_name" = "FreeBSD" ]; then ++ echo "LINK_FLAGS := \$(LINK_FLAGS) -lkvm" >> Makefile ++ fi + echo "INCLUDES := \$(INCLUDES) -I. -I${base_dir}/sdk/wxsqlite3/include -I${base_dir}/sdk/wxsqlite3/sqlite3/include -I${base_dir}/sdk/wxscintilla/include -I${base_dir}/sdk/wxscintilla/src/scintilla/include -I${base_dir}/sdk/wxpropgrid/include -I${base_dir}/sdk/wxscintilla/src/scintilla/src -I${base_dir}/Interfaces -I${base_dir}/Debugger -I${base_dir}/Plugin -I${base_dir}/CodeLite " >> Makefile + echo "" >> Makefile + echo "" >> Makefile -- cgit v1.2.3