Commit Graph

590 Commits

Author SHA1 Message Date
Brian Gianforcaro
540d9caa8e head: Use pledge() 2020-02-22 21:17:06 +01:00
Andreas Kling
4420284125 profile: Allow launching a command with profiling enabled
You can now profile a program from start to finish by doing:

    $ profile -c "cat /etc/passwd"

The old "enable or disable profiling for a PID" mode is accessible via:

    $ profile -p <PID> -e    # Enable profiling for PID
    $ profile -p <PID> -d    # Disable profiling for PID

The generated profile is available via /proc/profile like before.
This is far from perfect, but it at least makes profiling a lot nicer
to use since you don't have to hurry and attach to something when you
want to profile the whole thing anyway.
2020-02-22 11:01:37 +01:00
howar6hill
a78ae917d8 mv: Use ArgsParser, and check lstat for failure 2020-02-21 15:16:28 +01:00
howar6hill
e352ee23e5 Userland: Fix nullptr dereference if we fail to open the PCIDB
In the code below, db could be null, and would cause UB.
Instead of crashing, let's simply skip symbolicating names.

Fixes #1247
2020-02-20 15:13:42 +01:00
howar6hill
83668299a6
host: Use ArgsParser to parse arguments, and add man page (#1252)
Fixes #1246.
2020-02-20 15:12:55 +01:00
Andreas Kling
88b9fcb976 AK: Use size_t for ByteBuffer sizes
This matches what we already do for string types.
2020-02-20 13:20:34 +01:00
howar6hill
940de40f28
Userland: Add userdel program (#1217) 2020-02-19 12:59:09 +01:00
Andreas Kling
315538245f realpath: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
f67f70302b uname: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
feb4c683eb touch: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
b58728ed99 rm: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
a5f0b2aef0 ln: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
03aea11589 date: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
4b0e0bd9b8 env: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
b2f9a60bdb uptime: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
3b3b4b0e04 hostname: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
60c8d2379a kill: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
0bef6c9d78 basename: Use pledge() 2020-02-18 13:29:54 +01:00
howar6hill
94ed183774 Man: Use ArgsParser to parse arguments 2020-02-18 12:23:15 +01:00
Andreas Kling
7ce3f218af wc: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
257e7f022a sort: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
4f7081289c whoami: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
Andreas Kling
0b44f9d600 which: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
7266cee590 clear: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
1612a1d489 echo: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
d6a1237cfe yes: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
00fa2aa0ec rmdir: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
7281214af2 mkdir: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
53e7490b81 stat: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
ffb6056675 ps: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
Andreas Kling
16d5b1d4ca top: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
Andreas Kling
9f54ea9bcd NotificationServer: Add a system service for desktop notifications
This patch adds NotificationServer, which runs as the "notify" user
and provides an IPC API for desktop notifications.

LibGUI gains the GUI::Notification class for showing notifications.

NotificationServer is spawned on demand and will unspawn after
dimissing all visible notifications. :^)

Finally, this also comes with a small /bin/notify utility.
2020-02-16 21:58:17 +01:00
Andreas Kling
4ba153668b chmod: Tweak usage string
Fixes #1223.
2020-02-16 09:51:49 +01:00
Andreas Kling
2143da6434 LibGUI: Add forwarding header
This patch adds <LibGUI/Forward.h> and uses it a bunch.
It also dragged various header dependency reduction changes into it.
2020-02-16 09:41:56 +01:00
Shannon Booth
4d8547d112 Userland: Use DirIterator in rm 2020-02-16 02:19:22 +01:00
Andreas Kling
3866e0d4d4 LibCore: Move LogStream::operator<< overloads into cpp files 2020-02-15 00:58:52 +01:00
Andreas Kling
8f7333f080 LibCore: Add a forward declaration header
This patch adds <LibCore/Forward.h> and uses it in various places to
shrink the header dependency graph.
2020-02-14 23:31:18 +01:00
Andreas Kling
3bbf4610d2 AK: Add a forward declaration header
You can now #include <AK/Forward.h> to get most of the AK types as
forward declarations.

Header dependency explosion is one of the main contributors to compile
times at the moment, so this is a step towards smaller include graphs.
2020-02-14 23:31:18 +01:00
Shannon Booth
8249e666fc Userland: Fix typos in setting user id
Fixes: #1219
2020-02-14 23:30:22 +01:00
Shannon Booth
1f75dfd95d Userland: Fix error handling in rm program
Fixes: #1218
2020-02-14 23:30:22 +01:00
Andreas Kling
e22283e5e6 Userland: Use Core::DateTime 2020-02-11 20:43:29 +01:00
Andreas Kling
a1e7064937 gron: Use pledge() 2020-02-11 12:42:06 +01:00
Andreas Kling
05e772d276 jp: Use pledge() 2020-02-11 12:16:07 +01:00
William McPherson
d55d2b2794 LibAudio/aplay: Handle WAV header errors properly
We shouldn't just ASSERT() if the header parse fails. This was crashing
Piano completely.
2020-02-10 14:04:27 +01:00
William McPherson
c8eaae3eaf Userland: Fix segfault in chown
chown takes 2 arguments, not 1.
2020-02-10 11:11:29 +01:00
Liav A
88cf46dc98 Userland: Use IO helpers from LibBareMetal 2020-02-09 19:38:17 +01:00
Andreas Kling
8325662186 more: Read keystrokes from stdout instead of trying to re-open it
If we're running more on a TTY that we don't have filesystem access to,
we can't rely on open(ttyname(STDOUT_FILENO)). Since all the stdio fd's
are opened read/write anyway, we can just read from stdout, even if it
feels a bit weird. :^)
2020-02-08 15:50:00 +01:00
Andreas Kling
6a9cc66b97 LibGUI: Remove leading G from filenames 2020-02-06 20:33:02 +01:00
Andreas Kling
97edc82a26 LibAudio: Remove leading A from filenames 2020-02-06 15:18:03 +01:00
Andreas Kling
d17e23bd27 LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00