Kill CONFIG_FEATURE_USE_DEVPS_PATCH and the devps patch. I'm not

maintaining it anymore, and it is now terribly out of date.
 -Erik
This commit is contained in:
Eric Andersen
2002-12-05 07:24:08 +00:00
parent 6f9b45b9ef
commit deca106b6d
7 changed files with 3 additions and 1859 deletions

View File

@@ -27,88 +27,6 @@
#define READ_BUF_SIZE 50
/* For Erik's nifty devps device driver */
#ifdef CONFIG_FEATURE_USE_DEVPS_PATCH
#include <linux/devps.h>
/* find_pid_by_name()
*
* This finds the pid of the specified process,
* by using the /dev/ps device driver.
*
* Returns a list of all matching PIDs
*/
extern long* find_pid_by_name( const char* pidName)
{
int fd, i, j;
char device[] = "/dev/ps";
pid_t num_pids;
pid_t* pid_array = NULL;
long* pidList=NULL;
/* open device */
fd = open(device, O_RDONLY);
if (fd < 0)
perror_msg_and_die("open failed for `%s'", device);
/* Find out how many processes there are */
if (ioctl (fd, DEVPS_GET_NUM_PIDS, &num_pids)<0)
perror_msg_and_die("\nDEVPS_GET_PID_LIST");
/* Allocate some memory -- grab a few extras just in case
* some new processes start up while we wait. The kernel will
* just ignore any extras if we give it too many, and will trunc.
* the list if we give it too few. */
pid_array = (pid_t*) xcalloc( num_pids+10, sizeof(pid_t));
pid_array[0] = num_pids+10;
/* Now grab the pid list */
if (ioctl (fd, DEVPS_GET_PID_LIST, pid_array)<0)
perror_msg_and_die("\nDEVPS_GET_PID_LIST");
/* Now search for a match */
for (i=1, j=0; i<pid_array[0] ; i++) {
char* p;
struct pid_info info;
info.pid = pid_array[i];
if (ioctl (fd, DEVPS_GET_PID_INFO, &info)<0)
perror_msg_and_die("\nDEVPS_GET_PID_INFO");
/* Make sure we only match on the process name */
p=info.command_line+1;
while ((*p != 0) && !isspace(*(p)) && (*(p-1) != '\\')) {
(p)++;
}
if (isspace(*(p)))
*p='\0';
if ((strstr(info.command_line, pidName) != NULL)
&& (strlen(pidName) == strlen(info.command_line))) {
pidList=xrealloc( pidList, sizeof(long) * (j+2));
pidList[j++]=info.pid;
}
}
if (pidList) {
pidList[j]=0;
} else {
pidList=xrealloc( pidList, sizeof(long));
pidList[0]=-1;
}
/* Free memory */
free( pid_array);
/* close device */
if (close (fd) != 0)
perror_msg_and_die("close failed for `%s'", device);
return pidList;
}
#else /* CONFIG_FEATURE_USE_DEVPS_PATCH */
/* find_pid_by_name()
*
* Modified by Vladimir Oleynik for use with libbb/procps.c
@@ -135,7 +53,6 @@ extern long* find_pid_by_name( const char* pidName)
pidList[i] = i==0 ? -1 : 0;
return pidList;
}
#endif /* CONFIG_FEATURE_USE_DEVPS_PATCH */
/* END CODE */
/*