Belle II Software
release-06-02-00
removerb.cc
1
/**************************************************************************
2
* basf2 (Belle II Analysis Software Framework) *
3
* Author: The Belle II Collaboration *
4
* *
5
* See git log for contributors and copyright holders. *
6
* This file is licensed under LGPL-3.0, see LICENSE.md. *
7
**************************************************************************/
8
9
#include <string>
10
11
#include <stdio.h>
12
#include <stdlib.h>
13
#include <unistd.h>
14
15
#include <sys/ipc.h>
16
#include <sys/shm.h>
17
#include <sys/sem.h>
18
19
#include "framework/pcore/RingBuffer.h"
20
21
using namespace
Belle2
;
22
using namespace
std;
23
24
int
main
(
int
argc,
char
** argv)
25
{
26
if
(argc < 2) {
27
printf(
"remove : rbufname \n"
);
28
exit(-1);
29
}
30
string
pathname = string(
"/tmp/"
) + string(getenv(
"USER"
))
31
+ string(
"_RB_"
) + string(argv[1]);
32
FILE* fd = fopen(pathname.c_str(),
"r"
);
33
if
(fd == NULL) {
34
printf(
"[removerb] No such RingBuffer : %s\n"
, argv[1]);
35
exit(-1);
36
}
37
int
shmid, semid;
38
fscanf(fd,
"%d"
, &shmid);
39
fscanf(fd,
"%d"
, &semid);
40
fclose(fd);
41
42
printf(
"Removing shmid = %d, semid = %d\n"
, shmid, semid);
43
shmctl(shmid, IPC_RMID, (
struct
shmid_ds*) 0);
44
semctl(semid, 1, IPC_RMID);
45
printf(
"Removing pathfile = %s\n"
, pathname.c_str());
46
unlink(pathname.c_str());
47
48
// remove id file
49
char
fname[1024];
50
sscanf(fname,
"/tmp/SHM%d-SEM%d-RB_%s"
, argv[1]);
51
unlink(fname);
52
}
53
54
55
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:17
main
int main(int argc, char **argv)
Run all tests.
Definition:
test_main.cc:75
daq
rfarm
event
tools
removerb.cc
Generated on Thu Dec 28 2023 02:22:10 for Belle II Software by
1.9.1