mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 17:18:32 +00:00
Allow watch(8) to use more than 10 snp* devices. This limitation was purely
due to the way watch(8) looks for available snoop devices. PR: bin/118286 Submitted by: Mykola Zubach <zuborg@advancedhosters.com> Reviewed by: rwatson, csjp, imp (all a long time ago) Approved by: imp (mentor) (long time ago) MFC after: 1 week
This commit is contained in:
parent
3640040a14
commit
868f9ca26a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=175824
|
@ -152,19 +152,18 @@ fatal(int error, const char *buf)
|
|||
static int
|
||||
open_snp(void)
|
||||
{
|
||||
char snp[] = {_PATH_DEV "snpX"};
|
||||
char c;
|
||||
int f, mode, pos;
|
||||
char snp[] = {_PATH_DEV "snpXXX"};
|
||||
int f, mode, pos, c;
|
||||
|
||||
pos = strlen(snp) - 1;
|
||||
pos = strlen(snp) - 3;
|
||||
if (opt_write)
|
||||
mode = O_RDWR;
|
||||
else
|
||||
mode = O_RDONLY;
|
||||
|
||||
if (opt_snpdev == NULL)
|
||||
for (c = '0'; c <= '9'; c++) {
|
||||
snp[pos] = c;
|
||||
for (c = 0; c <= 999; c++) {
|
||||
snprintf(snp+pos, 4, "%d", c);
|
||||
if ((f = open(snp, mode)) < 0) {
|
||||
if (errno == EBUSY)
|
||||
continue;
|
||||
|
|
Loading…
Reference in a new issue