Commit graph

2792 commits

Author SHA1 Message Date
Andreas Kling
3ca332af42 LibM: Run clang-format on everything. 2019-06-07 11:49:47 +02:00
Andreas Kling
b07bbf383d Userland: Run clang-format on everything. 2019-06-07 11:49:31 +02:00
Andreas Kling
f7ede145b4 Shell: Run clang-format on everything. 2019-06-07 11:49:21 +02:00
Andreas Kling
46527b72d7 LibC: Run clang-format on everything. 2019-06-07 11:49:03 +02:00
Andreas Kling
892acfb10d VisualBuilder: Run clang-format on everything. 2019-06-07 11:48:27 +02:00
Andreas Kling
fba2c971e7 Games: Run clang-format on everything. 2019-06-07 11:48:15 +02:00
Andreas Kling
fd604a7c68 Applications: Run clang-format on everything. 2019-06-07 11:48:03 +02:00
Andreas Kling
e09c3a1ae8 SystemServer: Run clang-format on everything. 2019-06-07 11:47:46 +02:00
Andreas Kling
8358833bc8 WindowServer: Run clang-format on everything. 2019-06-07 11:47:19 +02:00
Andreas Kling
76b3337498 SharedGraphics: Run clang-format on everything. 2019-06-07 11:46:55 +02:00
Andreas Kling
7770d6a09d LibCore: Run clang-format on everything. 2019-06-07 11:46:37 +02:00
Andreas Kling
b34b084619 AK: Run clang-format on everything. 2019-06-07 11:46:22 +02:00
Andreas Kling
7ad8790d80 LibGUI: Run clang-format on everything. 2019-06-07 11:46:02 +02:00
Andreas Kling
bc951ca565 Kernel: Run clang-format on everything. 2019-06-07 11:43:58 +02:00
Andreas Kling
98eeb8f22d AK: Rename printf.cpp to PrintfImplementation.h. 2019-06-07 11:41:11 +02:00
Andreas Kling
1d5a3507b2 Userland: Add a little test program for the alarm() syscall. 2019-06-07 11:30:22 +02:00
Andreas Kling
d194ce828d Kernel: Implement the alarm() syscall. 2019-06-07 11:30:07 +02:00
Andreas Kling
a2a6bb93bc GScrollBar: Use increment/decrement naming consistently. 2019-06-07 10:56:30 +02:00
Andreas Kling
164742f316 GScrollBar: Keep scrolling while pushing down increment/decrement button. 2019-06-07 10:43:10 +02:00
Andreas Kling
0ece5fee14 GTextEditor: Set the vertical scrollbar step size to the line height.
This makes us scroll one line at a time.
2019-06-07 10:42:59 +02:00
Andreas Kling
1d7b89cd1c Base: Let's have "te" as a symlink alias for TextEditor for now. 2019-06-07 10:12:04 +02:00
Andreas Kling
08cd75ac4b Kernel: Rename FileDescriptor to FileDescription.
After reading a bunch of POSIX specs, I've learned that a file descriptor
is the number that refers to a file description, not the description itself.
So this patch renames FileDescriptor to FileDescription, and Process now has
FileDescription* file_description(int fd).
2019-06-07 09:36:51 +02:00
Andreas Kling
69a6ce90df AK: Add a ScopeGuard helper that invokes a callback when destroyed.
This is useful when you want to ensure some little thing happens when you
exit a certain scope.

This patch makes use of it in LibC's netdb code to make sure we close the
connection to the LookupServer.
2019-06-07 09:19:15 +02:00
Andreas Kling
4edc73ad1f Terminal: Use the visual bell by default. 2019-06-07 08:45:39 +02:00
Christopher Dumas
0491d34d0c LookupServer: use /etc/hosts even for reverse lookups 2019-06-07 08:35:41 +02:00
Christopher Dumas
70a37f9a26 LookupServer: Load hostnames 2019-06-07 08:35:41 +02:00
Christopher Dumas
4f62176c3e LookupServer: Clang-Format 2019-06-07 08:35:41 +02:00
Andreas Kling
59c37363b6 TTY: Generate SIGTSTP if cc[VSUSP] is pressed.
Fixes #207.
2019-06-06 20:31:49 +02:00
Ben Sloane
9687f1801b tail: Default tail behavior with no arguments (#209)
Make tail assume you wanted 10 lines of output if no -n option was provided.
2019-06-06 20:28:58 +02:00
Christopher Dumas
908d9458c7 WindowServer: New API for Scaled Blit 2019-06-06 18:35:00 +02:00
Christopher Dumas
90d924a97c WindowServer: Implement scaled backgrounds and scaled blitting function 2019-06-06 18:35:00 +02:00
Christopher Dumas
c72953cf06 WindowServer: Clang-Format 2019-06-06 18:35:00 +02:00
Andreas Kling
29a9430246 AK: Make timeval_add() and timeval_sub() take references. 2019-06-06 18:02:28 +02:00
Andreas Kling
bf905225e7 Kernel: Tidy up sys$select() to make it more readable. 2019-06-06 17:49:01 +02:00
Andreas Kling
6e4f0b3cc5 Terminal: Reallocate kept lines when resizing the terminal.
Otherwise we end up with garbage text when making the window bigger.
2019-06-06 14:59:18 +02:00
Andreas Kling
e8f35ef311 Terminal: Store horizontal tabs in a Vector.
There's no need to muck around with manual malloc()/free() here.
2019-06-06 11:42:05 +02:00
Andreas Kling
ecb72dd991 Shell: Print the name of each process whose exit status we're reporting. 2019-06-06 11:00:48 +02:00
Andreas Kling
036d808e96 Shell: Check the exit status of all spawned child processes. 2019-06-06 11:00:48 +02:00
Andreas Kling
e4cfa9a686 FIFO: Raise SIGPIPE in processes that write() to a broken pipe. 2019-06-06 11:00:48 +02:00
Andreas Kling
abb3643d88 tail: Shell programs should return 1 to indicate failure. 2019-06-06 11:00:48 +02:00
Andreas Kling
1f17b40d00 FIFO: Let write() fail with EPIPE if there's no reader. 2019-06-06 11:00:48 +02:00
Andreas Kling
6fa727a88e cat: Fix some oversights in error handling.
Error messages should go to stderr so they don't get mixed in with the
program's output. Also added a check for the return value of write().
2019-06-06 11:00:48 +02:00
Conrad Pankoff
fe380d8f49 Documentation: Describe compatible QEMU versions 2019-06-06 09:42:14 +02:00
Andreas Kling
01f1333856 LookupServer+LibC: Add support for reverse DNS lookups via gethostbyaddr().
LookupServer can now take two types of requests:

* L: Lookup
* R: Reverse lookup

The /bin/host program now does a reverse lookup if the input string is a
valid IPv4 address. :^)
2019-06-06 05:35:03 +02:00
Andreas Kling
d03505bc29 LibC: inet_pton() should return 1 on success, 0 or -1 on failure. 2019-06-06 05:25:18 +02:00
Larkin Nickle
d080f6e8dd Ports: Remove bashisms and switch all scripts to /bin/sh. 2019-06-05 14:00:01 +02:00
Andreas Kling
800242ed4e CEventLoop: Don't bother looking through fds when select() returns 0.
If it returns 0 that just means we hit the timeout. I suppose we could skip
the timer checks if there are a non-zero number of fds marked as well, but
I'm not sure that's a great idea since it will add some latency.
2019-06-05 01:57:28 -07:00
Andreas Kling
848044b74c Shell: Separate fd rewirings from redirections.
This was unnecessarily confusing. When we build up a chain of commands
connected by pipes, we now store the file descriptors of each end of
these pipes as rewirings in a vector. The rewirings are then put into
effect by calls to dup2().
2019-06-04 20:36:08 +02:00
Andreas Kling
59dae9a766 Make sure the CI has qemu-utils installed. 2019-06-04 16:38:14 +02:00
Conrad Pankoff
e1c982e4db Build: Remove grub from default build process
This removes grub and all the loopback device business from the default
build process. Running grub takes about a second, and it turns out it's
inconsistently packaged in different distributions, which has led to
at least one confusing issue so far (grub-install vs grub2-install).
Removing it from the basic path will make it easier for people to try
Serenity out.

There are now two scripts that can be used to build a disk image:

1. `build-image-grub.sh` - this will build an image suitable for writing
   to the IDE hard drive of a physical machine, complete with a partition
   table and bootloader. This can be run in qemu with the `qgrub` target
   for the `run` script.
2. `build-image-qemu.sh` - this is a simpler script which creates a bare
   filesystem image rather than a full MBR disk.

Both of these call out to `build-root-filesystem.sh` to do most of the
work setting up... the root filesystem.

For completeness' sake, I've retained the `sync.sh` script as a simple
forwarding to `build-image-qemu.sh`.

This relies on the functionality from #194 and #195. #195 allows us to
use `/dev/hda` as the root device when nothing else is specified, and #194
works around a strange feature of qemu that appends a space to the kernel
command line.
2019-06-04 07:15:44 -07:00