aboutsummaryrefslogtreecommitdiff
path: root/src/main.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.odin')
-rw-r--r--src/main.odin46
1 files changed, 24 insertions, 22 deletions
diff --git a/src/main.odin b/src/main.odin
index b68f90d..6ef4778 100644
--- a/src/main.odin
+++ b/src/main.odin
@@ -31,9 +31,6 @@ os_write :: proc(handle: rawptr, data: []byte) -> (int, int) {
//Note(Daniel, Should look into handling errors without crashing from parsing)
-verbose_logger: log.Logger
-file_logger: log.Logger
-file_logger_init: bool
request_thread: ^thread.Thread
run :: proc(reader: ^server.Reader, writer: ^server.Writer) {
@@ -48,27 +45,20 @@ run :: proc(reader: ^server.Reader, writer: ^server.Writer) {
writer = writer,
}
+ /*
+ tracking_allocator: mem.Tracking_Allocator
+ mem.tracking_allocator_init(&tracking_allocator, context.allocator)
+ context.allocator = mem.tracking_allocator(&tracking_allocator)
+ */
+
server.requests = make([dynamic]server.Request, context.allocator)
server.deletings = make([dynamic]server.Request, context.allocator)
request_thread = thread.create_and_start_with_data(cast(rawptr)&request_thread_data, server.thread_request_main)
server.setup_index();
-
- for common.config.running {
- if common.config.file_log {
- if !file_logger_init {
- if fh, err := os.open("log.txt"); err == 0 {
- file_logger = log.create_file_logger(fh, log.Level.Info)
- }
- }
- context.logger = file_logger
- } else if common.config.verbose {
- context.logger = verbose_logger
- } else {
- context.logger = log.Logger {nil, nil, log.Level.Debug, nil}
- }
+ for common.config.running {
server.consume_requests(&common.config, writer)
}
@@ -83,6 +73,12 @@ run :: proc(reader: ^server.Reader, writer: ^server.Writer) {
server.document_storage_shutdown()
server.free_index()
+
+ /*
+ for key, value in tracking_allocator.allocation_map {
+ log.errorf("%v: Leaked %v bytes\n", value.location, value.size)
+ }
+ */
}
end :: proc() {
@@ -93,11 +89,17 @@ main :: proc() {
reader := server.make_reader(os_read, cast(rawptr)&os.stdin)
writer := server.make_writer(os_write, cast(rawptr)&os.stdout)
- verbose_logger := server.create_lsp_logger(&writer, log.Level.Error)
-
- context.logger = verbose_logger
-
- init_global_temporary_allocator(mem.Megabyte*100)
+ context.logger = server.create_lsp_logger(&writer, log.Level.Error)
+ /*
+ fh, err := os.open("log.txt", os.O_RDWR|os.O_CREATE)
+
+ if err != os.ERROR_NONE {
+ return
+ }
+
+ context.logger = log.create_file_logger(fh, log.Level.Info)
+ */
+ init_global_temporary_allocator(mem.Megabyte*10)
run(&reader, &writer)
}